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
refactor: removed boost dependency #2792
Conversation
This pull request introduces 1 alert when merging ce77587 into 0a545cc - view on LGTM.com new alerts:
|
I created a file with some random values using a "dynamic" converter and tested it with the current PR and
Do you plan to test it yourself or can we merge it? |
Thank you! I am going to test it too now. ^__^ |
I have finished testing and it gives exactly the same results for me too! Awesome work. I also checked examples from this page - Please rebase and we are ready to merge! |
rebased |
implement our own Runge-Kutta54 Cash-Karp, that boost::ode uses in integrate() as claimed in documentation: https://www.boost.org/doc/libs/1_66_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/getting_started/short_example.html Algorithm described here http://www.elegio.it/mc2/rk/doc/p201-cash-karp.pdf As far as I tested, it gives the same results.
it seems the previous implementation sometimes enter in an infinite loop In my tests, however, some parts of this new code are never reached. That's the reason the code could be simplified to only this `if` branch ```c++ if (e_4 > 1) { // No order less than 5th order is possibly good, so abandon current step Real esttol = e_4; step_size *= std::max(0.2, VRKF_sf / esttol); continue; } else { // accept 5th order solution ... } ``` And consequently some variables could vanish.
read previous commit message
Done :) |
Merged. Thank you! |
implement our own Runge-Kutta54 Cash-Karp, that boost::ode
uses in integrate() as claimed in documentation:
https://www.boost.org/doc/libs/1_66_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/getting_started/short_example.html
Algorithm described here
http://www.elegio.it/mc2/rk/doc/p201-cash-karp.pdf
As far as I tested, it gives the same results.