Dynamics
Overview
The dynamics functions give the time derivative of a state in specific systems and are of the form ẋ = f(x). Corresponding in-place methods have names that end with !.
Functions
ThreeBodyProblem.R2BPdynamics
— FunctionR2BPdynamics(rv, μ, t)
Compute time derivative of state vector in the restricted two-body system. rv
is the state vector [r; v]
{km; km/s}, μ
is the gravitational parameter {km³/s²}, and t
is time {s}.
R2BPdynamics(rv, prim::Body, t)
Compute time derivative of state vector in the restricted two-body system. rv
is the state vector [r; v]
{km; km/s}, prim
is the central body, and t
is time {s}.
ThreeBodyProblem.R2BPdynamics!
— FunctionR2BPdynamics!(rvdot, rv, μ, t)
In-place version of R2BPdynamics(rvdot, rv, μ, t)
.
R2BPdynamics!(rvdot, rv, prim::Body, t)
In-place version of R2BPdynamics!(rvdot, rv, prim::Body, t)
.
ThreeBodyProblem.CR3BPdynamics
— FunctionCR3BPdynamics(rv, μ, t)
Compute time derivative of state vector rv = [r; v]
{NON, NON} in the rotating frame of the normalized CR3BP where μ
is the CR3BP mass parameter μ₂/(μ₁+μ₂) {NON} and t
is time {NON}.
CR3BPdynamics(rv, sys::System, t)
Compute time derivative of state vector rv = [r; v]
{NON, NON} in the rotating frame of the normalized CR3BP where sys
is the CR3BP system and t
is time {NON}.
CR3BPdynamics(rv, p::Array, t)
Compute time derivative of state vector rv = [r; v]
{km, km/s} in the rotating frame of the non-normalized CR3BP where p = [μ₁;μ₂;d]
{km³/s²; km³/s²; km} contains the gravitational parameters of the first and second primary bodies as well as the distance between them. t
is time {s}.
ThreeBodyProblem.CR3BPdynamics!
— FunctionCR3BPdynamics!(rvdot, rv, μ, t)
In-place version of CR3BPdynamics(rv, μ, t)
.
CR3BPdynamics!(rvdot, rv, sys::System, t)
In-place version of CR3BPdynamics(rv, sys::System, t)
.
CR3BPdynamics!(rvdot, rv, p::Array, t)
In-place version of CR3BPdynamics(rv, p::Array, t)
.
ThreeBodyProblem.CR3BPstm
— FunctionCR3BPstm(w, μ, t)
Compute time derivative of state vector w = [r; v; vec(Φ)]
{NON; NON; NON} in the rotating frame of the normalized CR3BP. vec(Φ)
is the vectorized state transition matrix while μ
is the CR3BP mass parameter μ₂/(μ₁+μ₂) {NON} and t
is time {NON}.
CR3BPstm(w, sys, t)
Compute time derivative of state vector w = [r; v; vec(Φ)]
{NON; NON; NON} in the rotating frame of the normalized CR3BP. vec(Φ)
is the vectorized state transition matrix while sys
is the CR3BP system and t
is time {NON}.
ThreeBodyProblem.CR3BPstm!
— FunctionCR3BPstm!(wdot, w, μ, t)
In-place version of CR3BPstm(w, μ, t)
.
CR3BPstm!(wdot, w, sys::System, t)
In-place version of CR3BPstm(w, sys::System, t)
.
ThreeBodyProblem.CR3BPinert
— FunctionCR3BPinert(rv,μ,t)
Compute time derivative of state vector rv = [r; v]
{NON, NON} in the inertial frame of the normalized CR3BP where μ
is the CR3BP mass parameter μ₂/(μ₁+μ₂) {NON} and t
is time {NON}.
CR3BPinert(rv, sys::System, t)
Compute time derivative of state vector rv = [r; v]
{NON, NON} in the inertial frame of the normalized CR3BP where sys
is the CR3BP system and t
is time {NON}.
CR3BPinert(rvdot, rv, p::Array, t)
Compute time derivative of state vector rv = [r; v]
{NON, NON} in the inertial frame of the non-normalized CR3BP where p = [μ₁;μ₂;d]
{km³/s²; km³/s²; km} contains the gravitational parameters of the first and second primary bodies as well as the distance between them. t
is time {s}.
ThreeBodyProblem.CR3BPinert!
— FunctionCR3BPinert!(rvdot, rv, μ, t)
In-place version of CR3BPinert(rv, μ, t)
.
CR3BPinert!(rvdot, rv, sys::System, t)
In-place version of CR3BPinert(rv, sys::System, t)
.
CR3BPinert!(rvdot, rv, p::Array, t)
In-place version of CR3BPinert(rv, p::Array, t)
.
ThreeBodyProblem.CWdynamics
— FunctionCWdynamics(rv, n, t)
Clohessy-Wiltshire equations. Compute time derivative of state vector rv = [δr; δv]
{km; km/s} where n
{rad/s} is the mean motion of the chief and t
is time {s}.
ThreeBodyProblem.CWdynamics!
— FunctionCWdynamics!(rvdot,rv,n,t)
Clohessy-Wiltshire equations
Inputs: n (scalar) mean motion
ThreeBodyProblem.BCPdynamics
— FunctionSee G. Gómez, C. Simó, J. Llibre, and R. Martínez, Dynamics and mission design near libration points. Vol. II, vol. 3. 2001.
BCPdynamics(rv, μ, m₃, n₃, t)
Compute time derivative of state vector rv = [r; v]
{km; km/s} in the normalized Bicircular Four-Body Problem (BCP). μ
{NON} is the BCP mass parameter and m₃
{NON} and n₃
{NON} are the normalized mass and mean motion of the tertiary body. t
is time {NON}.
BCPdynamics(rv, sys::BicircularSystem, t)
Compute time derivative of state vector rv = [r; v]
{km; km/s} in the normalized Bicircular Four-Body Problem (BCP). sys
is the BCP system and t
is time {NON}.
ThreeBodyProblem.BCPdynamics!
— FunctionBCPdynamics!(rvdot, rv, μ, m₃, n₃, t)
In-place version of BCPdynamics(rv, μ, m₃, n₃, t)
.
BCPdynamics!(rvdot, rv, sys::BicircularSystem, t)
In-place version of BCPdynamics(rv, sys::BicircularSystem, t)
.
ThreeBodyProblem.BCPstm
— FunctionBCPstm(wdot, w, μ, m₃, n₃, t)
Compute time derivative of state vector w = [r; v; vec(Φ)]
{NON; NON; NON} in the normalized Bicircular Four-Body Problem (BCP). vec(Φ)
is the vectorized state transition matrix. μ
{NON} is the BCP mass parameter and m₃
{NON} and n₃
{NON} are the normalized mass and mean motion of the tertiary body. t
is time {NON}.
BCPstm(wdot, w, μ, m₃, n₃, t)
Compute time derivative of state vector w = [r; v; vec(Φ)]
{NON; NON; NON} in the normalized Bicircular Four-Body Problem (BCP). vec(Φ)
is the vectorized state transition matrix, sys
is the BCP system and t
is time {NON}.
ThreeBodyProblem.BCPstm!
— FunctionBCPstm!(wdot, w, μ, m₃, n₃, t)
In-place version of BCPstm(w, μ, m₃, n₃, t)
.
BCPstm!(wdot, w, sys::BicircularSystem, t)
In-place version of BCPstm(w, sys::BicircularSystem, t)
.