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
Click For Summary

Discussion Overview

The discussion focuses on finding an implementation of the Runge-Kutta 8th order method (RK89) for use in celestial mechanics and astrodynamics applications, specifically in C or C++. Participants are exploring available libraries, their documentation, and licensing, as well as comparing different Runge-Kutta methods.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant seeks a documented and free library for the Runge-Kutta 8th order method for celestial mechanics applications in C++.
  • Another participant suggests searching for resources online, mentioning a specific paper by E. Fehlberg that discusses high-order Runge-Kutta methods.
  • A participant clarifies that they are looking for existing software rather than theoretical resources and mentions finding a library that implements the Runge-Kutta-Fehlberg (RKF78) method.
  • One participant explains that RKF78 is a 7th order method with an 8th order error estimate, while RK89 is an 8th order method with a 9th order error estimate.
  • A later reply discusses the performance of various methods, mentioning that extrapolated methods can achieve high precision and speed for n-body problems, with the ability to use orders up to 100.

Areas of Agreement / Disagreement

Participants express differing views on the suitability of various Runge-Kutta methods for specific applications, and there is no consensus on the best library or implementation for the 8th order method.

Contextual Notes

Participants have not resolved the implications of using RKF78 versus RK89 in terms of precision and computational efficiency, and there are uncertainties regarding the performance of different methods in practical applications.

Who May Find This Useful

This discussion may be useful for developers and researchers in celestial mechanics, astrodynamics, or numerical methods who are looking for high-order Runge-Kutta implementations in C or C++.

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:
Technology news on Phys.org
If you google "eighth order runge kutta method" you'll find plenty of hits to keep you busy.

The list of papers here might be of use, particularly the paper by E. Fehlberg, which discusses
high-order RK methods:
 

Attachments

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).
 

Similar threads

  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 65 ·
3
Replies
65
Views
8K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
14
Views
5K
Replies
2
Views
8K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 10 ·
Replies
10
Views
13K
  • · Replies 2 ·
Replies
2
Views
15K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 6 ·
Replies
6
Views
4K