moble / PostNewtonian.jl

Orbital dynamics and waveforms for binary black-hole systems, in the post-Newtonian approximation
MIT License
12 stars 1 forks source link

Change binding energy derivative calculation from Symbolics to FastDifferentiation #48

Closed elaine-ran closed 4 months ago

elaine-ran commented 4 months ago
  1. Since FastDifferentiation.jl is much faster than Symbolics.jl and the executables made by FastDifferentiation.jl are also faster, change𝓔′ from using Symbolics to FastDifferentiation. Resolves issue #26 ! a. This required the addition of a type of PNSystem, called FDPNSystem() which stores its state variables as FastDifferentiation.Nodes. FDPNSystem() must be initialized with a float type (ex. FDPNSystem(Float64)).
  2. To account for these changes, update the binding_energy.jl test file to test 𝓔′ using FDPNSystem(Float64) instead of SymbolicPNSystem().
  3. Move all usage of Symbolics into an extension PostNewtonianSymbolicsExt.jl.
moble commented 4 months ago

Almost working. Should be easy to get the last errors fixed, but I have to run for now. Here's what I've done so far:

codecov-commenter commented 4 months ago

Codecov Report

Attention: Patch coverage is 64.28571% with 30 lines in your changes missing coverage. Please review.

Project coverage is 82.50%. Comparing base (865de96) to head (689dba7). Report is 3 commits behind head on main.

Files Patch % Lines
ext/PostNewtonianSymbolicsExt.jl 38.09% 26 Missing :warning:
src/systems.jl 87.50% 2 Missing :warning:
src/utilities/macros.jl 50.00% 2 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #48 +/- ## ========================================== + Coverage 82.32% 82.50% +0.17% ========================================== Files 26 27 +1 Lines 894 926 +32 ========================================== + Hits 736 764 +28 - Misses 158 162 +4 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

moble commented 4 months ago

Thanks Elaine! Nice work!