Gravity Engine 2 5.1
|
Circular Restricted Three Body Problem. More...
Classes | |
class | CR3BPSystemData |
Static Public Member Functions | |
static double3 double3 v | FrameInertialToRotating (double3 r, double3 v, double t) |
static double3 double3 v | FrameRotatingToInertial (double3 r, double3 v, double t) |
static void | GSBodiesSetup (TB_System cr3bp, GSBody primary, GSBody secondary) |
Configure the parameters for the GSBodies for a CR3BP system based on the default units of the GSController. | |
static void | InertialToRotatingVec3 (ref UnityEngine.Vector3[] r, double t) |
static void | NormToSIkm (ref GEBodyState bodyState, CR3BPSystemData sysData) |
Convert normalized CR3BP state value to SI_km. | |
static double | RK4Step (ref GEPhysicsCore.GEPhysicsJob geJob) |
static void | SIkmToNorm (ref GEBodyState bodyState, CR3BPSystemData sysData) |
Convert SIkm to normalized CR3BP dimensionless units. | |
static CR3BPSystemData | SystemData (TB_System cr3bpType) |
Static Public Attributes | |
static double3 | r |
Transform rotating NORMALIZED R, V to inertial R, V. | |
Circular Restricted Three Body Problem.
Utility functions to assist in converting from the inertial coordinates into the co-rotating coordinates.
The CR3BP integrator follows the usual convention of normalizing the separation between the bodies to 1 and the total mass to one, with a mass fraction of the secondary body being mu. (Hence the primary is 1-mu).
In the corotating coordinates the CM of the system is at zero and the position of the primary is (-mu, 0, 0) and the secondary is (1-mu, 0, 0).
Unit of mass: m1 + m2 Unit of Length: d(m1, m2) Unit of Time: 2 Pi for one orbit of the secondary This results in G=1.
A good reference is 2.2 of Koon, Lo, Marsden & Ross (KLMR). Available as a free PDF at https://ross.aoe.vt.edu/books/Ross_3BodyProblem_Book_2022.pdf
|
static |
Configure the parameters for the GSBodies for a CR3BP system based on the default units of the GSController.
cr3bp | |
primary | |
secondary |
|
static |
Convert normalized CR3BP state value to SI_km.
bodyState | |
fromUnits | |
sysData |
|
static |
Convert SIkm to normalized CR3BP dimensionless units.
bodyState | |
toUnits | |
sysData |
|
static |
Transform rotating NORMALIZED R, V to inertial R, V.
See KLMR
This assumes CR3BP scaling in which the period of orbit for the secondary is 2 Pi
r | |
v | |
t |
See KLMR and then do the inversion.
This assumes CR3BP scaling in which the period of orbit for the secondary is 2 Pi
A(t)^-1 R = r
r | |
v | |
t |