You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Developer Interest
Dropped dependency on Boost.Odeint
Questions
@ilfreddy please have a look and make sure it's fine to update the reference values for the Green's function tests.
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.
robertodr
changed the title
[WIP] Replace Odeint with in-house Runge-Kutta 4th order integrator
Replace Odeint with in-house Runge-Kutta 4th order integrator
Mar 27, 2018
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).
This is therefore good to go as soon as the reference values are updated.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
SphericalDiffuseclass 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