-
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
Use PostNewtonian.jl for initial orbital parameters #6224
base: develop
Are you sure you want to change the base?
Use PostNewtonian.jl for initial orbital parameters #6224
Conversation
2f85cfc
to
6cafeef
Compare
a0ab56f
to
14a0626
Compare
Replaces the dependence on SpEC to compute low-eccentricity initial orbital parameters with the `sxs` package. It provides the PN approximations at higher PN order than SpEC, is much faster, and avoids spurious output from old Fortran code (LSODA) that was used in SpEC. The PN approximations are provided through the `PostNewtonian.jl` Julia package, so Julia will be downloaded on first use, which may take a few minutes.
f6bb368
to
55e160d
Compare
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.
Currently only HPC has a sufficient version of sxs
. Ocean and mbot will need to be updated
pn = PostNewtonian.BBH( | ||
np.array( | ||
[1.0 / (1.0 + q), q / (1.0 + q), *chiA, *chiB, 1, 0, 0, 0, 1, 0] |
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.
Please add a note what these magic 1s and 0s are. I believe they are the following, but the docs/code of the julia implementation don't match so I'm unsure...
1 = v (velocity???)
0, 0, 0, 1 = rotor (quaternion??)
0 = phi
) | ||
pn.state[12] = PostNewtonian.separation_inverse(r, pn) |
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.
Why replace? Please add some docs
# Disable this test if using jemalloc as a shared library, because Julia | ||
# doesn't like the 'LD_PRELOAD' trick to load jemalloc for Pybindings. | ||
if (NOT "${JEMALLOC_LIB_TYPE}" STREQUAL SHARED) |
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.
Will the source code work in the CLI if we are using JEMALLOC?
Also needs a rebase to fix conflicts |
Proposed changes
Replaces the dependence on SpEC to compute low-eccentricity initial orbital parameters with the
sxs
package. It provides the PN approximations at higher PN order than SpEC, is much faster, and avoids spurious output from old Fortran code (LSODA) that was used in SpEC.The PN approximations are provided through the
PostNewtonian.jl
Julia package, so Julia will be downloaded on first use, which may take a few minutes.See also moble/PostNewtonian.jl#41, which made this possible.
Upgrade instructions
To use low-eccentricity initial orbital parameters for BBH initial data, install the
sxs
package in your Python environment:# In the build directory: ./bin/python-spectre -m pip install sxs
Now you can use
./bin/spectre bbh generate-id
with the--eccentricity=0
option.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