CRTBP Code
This page pulls together all the MATLAB-Monkey code related to the Circular, Restricted, Three-Body Problem (CRTBP). The MATLAB files may be downloaded individually by right-clicking (ctrl-clicking for Mac folks) on the link and then selecting "Save As". You can also download all the files at once by clicking on the zip archive. The zip archive also contains a README file that contains the info on this page.
Archive of all CRTBP files:
- crtbpArchive.zip - get it all in one click
Program Files:
- crtbp.m – Font-end user interface for the RKN-12/10 integrator. Shows the trajectory of the test particle in an inertial or rotating frame of reference. Has option to animate the dynamics as it integrates. (requires crtbpRKN1210.m , rkn1210.m, and LagrangePoints.m)
- Poincare.m – Calculates and plots a Poincare section using the RK45 integrator. (requires crtbpRK45.m and LagrangePoints.m)
- Lyapunov.m – Calculates the Lyapunov exponent as a function of the time difference Δt. (requires crtbpRKN1210.m, rkn1210.m and LagrangePoints.m)
- crtbpPotentialSurface.m – Renders the crtbp potential as a surface, showing views from two angles. (requires crtbpPotential.m)
- crtbpZeroVel.m – Plots multiple panels showing the zero velocity curves for different values of the Jacobi integral. (requires crtbpPotential.m)
- LagrangePlot.m – Shows the locations of the five Lagrange points as well as the zero velocity curves that go through them. (requires crtbpPotential.m and LagrangePoints.m)
Functions Used by Program Files:
- crtbpRKN1210.m – Runge-Kutta-Nystrom 10th/12th order integrator for the CRTBP. Integrates single particles or multiple particles simultaneously. (requires rkn1210.m)
- rkn1210.m – Runge-Kutta-Nystrom 10th/12th order integrator written by Rody Oldenhuis and available from the MATLAB File exchange.
- crtbpRK45.m – Runge-Kutta 4th/5th order integrator for the CRTBP. Integrates single particle only.
- crtbpPotential.m – returns the pseudo-potential at a specified position in the rotating reference frame.
- LagrangePoints.m – returns the coordiantes of the Lagrange points for a given value of m2/(m1+m2)