Looking for Runge-Kutta 8th order in C/C++

  • Context: C/C++ 
  • Thread starter Thread starter thor36
  • Start date Start date
  • Tags Tags
    Runge-kutta
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 5K views
thor36
Messages
10
Reaction score
0
Greetings all !
This is my first post on the forum, so please kindly let me know if I am not asking a proper question or on a proper board.

I would like to use Runge-Kutta 8th order method (89) in a celestial mechanics / astrodynamics application, written in C++. Therefore I wonder if anyone knows a good library / implementation that is documented and free to use ? It is ok if it is written in C, as long as there aren't any compilation problems to be expected.

So far I have found this library. The code seems ok, but I haven't found any information on licensing.

Can you help me by revealing some of the alternatives you might know and would suit my problem ?
Thank you very much and kind regards,
T
 
Last edited:
Physics news on Phys.org
Thank you for the answer. My question was more application oriented though, trying to find already written software. Nonetheless, I have found a library which includes a Runge-Kutta-Fehlberg(78) method.

Can anyone explain me the main differences if I would be using the "RKF78" instead of RK89 ?

My application would be celestial mechanics - planetary motion as well as artificial satellites. There may be a lot of forces and other varying parameters included, and precision is preferred over computation time. Thank you.
 
If the methods go by the same naming convention, then RFK78 should be 7th order with 8th order error estimate, while RK89 should be 8th order with 9th order error estimate.
 
Rather very slow methods to the n-body Newtonian problem.
Once I used the extrapolated methods... some new version, very fast and practically any order: 2 up to 100, for example, but with higher precision (probably something as 256 bit - quad double; double is enought up to order 20 at most... mayby 16).