Skip to content

Runge-Kutta-Fehlberg 7(8) numerical method for celestial dynamics on C++

License

Notifications You must be signed in to change notification settings

fzh3g/Runge-Kutta-Fehlberg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RKF 7(8) Method for Celestial Dynamics on C++

Table of Contents

Purpose

Using Runge-Kutta-Fehlberg 7(8) method for solving numerical problems in celestial dynamics, for example, two-body and three-body problems, mainly on C++ with some python scripts for plotting.

Contents

Lorenz attractor

img/lorenz.png

Two-body problem

Modify the parameters at the beginning of twobody.cpp, and type following command in your *nix terminal:

make
make run_twobody
make plot_twobody

img/orbit_trace.png

Three-body problems

Restricted three-body problem

PCR3BP

Planar circular restricted 3-body problem

img/pcr3b.png

Poincaré Section

img/poincare_section_l1.png

img/poincare_section_l2.png

img/poincare_section_l3.png

img/poincare_section_l4.png

Sitnikov problem

img/sitnikov_circle.png

img/sitnikov_ellipse.png

Gaussian perturbation

make
make run_gaussperturb
make plot_gaussperturb

img/gauss_perturb.png

Laplace’s parameter

img/laplace_param.png

Spin-orbit resonance

img/sor.png

About

Runge-Kutta-Fehlberg 7(8) numerical method for celestial dynamics on C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published