-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add EffectiveSource code #6400
base: develop
Are you sure you want to change the base?
Add EffectiveSource code #6400
Conversation
why are we putting this into spectre and not just using it as an optional external dependency? |
It won't ever change and is easier to bundle than to install as an extra dependency (in a recent effort to make the code easier to use we have been bundling other dependencies like libsharp as well). It's one .c file, and the original repo doesn't even have a build system, so it's easier to bundle the .c file. |
Can you ask Barry if he'd be willing to relicense to something more permissive so we don't have to worry about GPL things again? |
Ok I'll ask! |
The code is licensed under MIT now 👍 I updated this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for working with Barry to get the license changed!
add_library(${LIBRARY} kerr-circular.c) | ||
|
||
target_link_libraries( | ||
${LIBRARY} | ||
PRIVATE | ||
GSL::gsl | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Won't matter until we get other dependencies worked out so tracking doesn't tell us we are broken. We could add the header files to track those as well. Up to you :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok sure added the add_interface_lib_headers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I think there are still some bugs in how to do this (I have another repo where I fixed it and need to backport). Just remove it for now, sorry!
#include <gsl/gsl_sf_ellint.h> | ||
|
||
/* The particle's coordinate location and 4-velocity */ | ||
static struct coordinate xp; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just an FYI, I'm worried all of this code isn't threadsafe., but I haven't looked in detail and I don't know if it matters :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep probably not threadsafe, I've been working around that when calling the functions
Proposed changes
Bundles the EffectiveSource (https://github.com/barrywardell/EffectiveSource) code in external/ (
GPLMIT licensed). This is a widely used code in the self-force community to compute the effective source of a scalar point charge in Kerr spacetime.Upgrade instructions
Code review checklist
make doc
to generate the documentation locally intoBUILD_DIR/docs/html
.Then open
index.html
.code review guide.
bugfix
ornew feature
if appropriate.Further comments