-
Notifications
You must be signed in to change notification settings - Fork 21
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
Replace Odeint with in-house Runge-Kutta 4th order integrator #138
base: master
Are you sure you want to change the base?
Conversation
Generated by 🚫 Danger |
I don't see that you have included the modifications to the reference values in the test file. If you want me to evaluate whether the difference is significant or not, you should update them. Or you want me to run the tests myself and see? |
The latter. It's probably a good idea if you check this out on stallo and re-run the scans you used to test for the L=0 bug. |
I have checked the results against my test set of interfaces. The results are practically identical. Unfortunately the old results were printed with six digits accuracy only and I can therefore not go beyond that, but all numbers match to the last digit available (just some rounding differences). |
Maybe we should keep the interface reference calculations (inp/out) somewhere on github, just in case? They are too long to be used as routine tests, but they might turn useful every now and then. |
We had a |
628c2da
to
c4e269e
Compare
Codecov Report
@@ Coverage Diff @@
## master #138 +/- ##
==========================================
+ Coverage 69.83% 70.07% +0.24%
==========================================
Files 92 93 +1
Lines 5616 5601 -15
==========================================
+ Hits 3922 3925 +3
+ Misses 1694 1676 -18
Continue to review full report at Codecov.
|
Description
This PR removes the dependency on Odeint by providing code for a Runge-Kutta 4th order integrator.
In addition, the code for handling the radial solutions and some of the internals of the
SphericalDiffuse
class have been significantly simplified.How Has This Been Tested?
All unit tests but one pass.
green_spherical_diffuse
, which checks the value of the Green's function. However, the tests on boundary integral operators and IEF pass without any tweak. It seems to me some loss of accuracy happens with the new integrator, but I cannot see how that could happen given that the Butcher tableau used by Odeint is the same as mine.Todos
Questions
Status