arenstorf_ode

arenstorf_ode, a Python code which describes an ordinary differential equation (ODE) which defines a stable periodic orbit of a spacecraft around the Earth and the Moon.

Although the orbit should be periodic, and repeats after a time interval of a little more than 17 units, most ODE solvers will have difficulty coming close to periodicity.

Languages:

arenstorf_ode is available in a MATLAB version and an Octave version and a Python version.

Related Data and codes:

allen_cahn_pde, a Python code which sets up and solves the 1D Allen-Cahn reaction-diffusion partial differential equation (PDE).

biochemical_linear_ode, a Python code which defines a linear biochemical ordinary differential equation (ODE).

biochemical_nonlinear_ode, a Python code which defines a nonlinear biochemical ordinary differential equation (ODE).

blowup_ode, a Python code which considers an ordinary differential equation (ODE) y'=y^2. whose solution "blows up" in finite time.

brusselator_ode, a Python code which defines the Brusselator ordinary differential equation (ODE) system.

dosage_ode, a Python code which uses a system of ordinary differential equations (ODE) to simulate the blood levels of a medicinal drug that should stay between medicinal and toxic limits.

exp_ode, a Python code which sets up an ordinary differential equation (ODE) whose solution is an exponential function.

flame_ode, a Python code which solves an ordinary differential equation (ODE) that models the growth of a ball of flame in a combustion process.

henon_heiles_ode, a Python code which solves the Henon-Heiles system of ordinary differential equations (ODE) which model the motion of a star around the galactic center.

humps_ode, a Python code which solves an ordinary differential equation (ODE) whose solution is a double hump curve.

kepler_ode, a Python code which defines the ordinary differential equations (ODE) for a Kepler two body gravitational problem.

kepler_perturbed_ode, a Python code which defines the ordinary differential equations (ODE) for a perturbed Kepler two body gravitational problem.

lorenz_ode, a Python code which approximates solutions to the Lorenz system of ordinary differential equations (ODE), which exhibit sensitive dependence on the initial conditions.

normal_ode, a Python code which sets up an ordinary differential equation (ODE) for the normal probability density function (PDF).

oscillator_ode, a Python code which defines the highly oscillatory ordinary differential equation (ODE).

pendulum_double_ode, a Python code which defines the double pendulum ordinary differential equation (ODE).

pendulum_nonlinear_ode, a Python code which sets up the ordinary differential equations (ODE) that represent a nonlinear model of the behavior of a pendulum of length L under a gravitational force of strength G.

pendulum_ode, a Python code which sets up the ordinary differential equations (ODE) that represent a linear model of the behavior of a pendulum of length L under a gravitational force of strength G.

predator_prey_ode, a Python code which solves a pair of predator prey ordinary differential equations (ODE).

quadex_ode, a Python code which solves a stiff ordinary differential equation (ODE), whose exact solution is a parabola, but for which errors grow exponentially.

quasiperiodic_ode, a Python code which sets up a system of ordinary differential equations (ODE) for a problem with a quasiperiodic solution.

rigid_body_ode, a Python code which solves the ordinary differential equations (ODE) representing the Euler equations for a rigid body with three unequal moments of inertia, originally proposed by Fred Krogh.

ripple_ode a Python code which solves an ordinary differential equation (ODE) whose family of solutions start as ripples and end as hyperbolas.

robertson_ode, a Python code which sets up a system of three nonlinear stiff ordinary differential equations (ODE) characterizing an autocatalytic chemical reaction.

roessler_ode, a Python code which sets up and solves the Roessler ordinary differential equations (ODE) which exhibit chaotic behavior.

rubber_band_ode, a Python code which defines and solves a set of ordinary differential equations (ODE) describing a mass suspended by a spring and rubber band, which can exhibit chaotic behavior.

sir_ode, a Python code which sets up the ordinary differential equations (ODE) which simulate the spread of a disease using the Susceptible/Infected/Recovered (SIR) model.

stiff_ode, a Python code which defines an ordinary differential equation (ODE) which exhibits stiffness, making accurate solution difficult.

three_body_ode, a Python code which defines a set of ordinary differential equations (ODE) which simulates the behavior of three planets, constrained to lie in a plane, and moving under the influence of gravity, by Walter Gander and Jiri Hrebicek.

two_body_ode, a Python code which defines ordinary differential equations (ODE) which simulate the behavior of two bodies, constrained to lie in a plane, moving under the influence of gravity, with one body much more massive than the other.

vanderpol_ode, a Python code which defines the right hand side of the van der Pol oscillator ordinary differential equation (ODE).

zombie_ode, a Python code which sets up a system of ordinary differential equations (ODE) for a generalized SIR infection model to simulate a zombie attack, developed by Philip Munz.

References:

1. Richard Arenstorf,
Periodic solutions of the restricted three body problem representing analytic continuations of Keplerian elliptic motions,
American Journal of Mathematics,
Volume 85, Number 1, pages 27-35, January 1963.
2. John D Cook,
The orbit that put men on the moon,
https://www.johndcook.com/blog/
Posted 08 February 2020.
3. Ernst Hairer, Syvert Norsett, Gerhard Wanner,
Solving Ordinary Differential Equations I: Nonstiff Problems,
Springer, 1987.

Source Code:

Last revised on 20 October 2020.