Circular Restricted Three Body Problem (CRTBP)
Structures
Jamie.CrtbpP1
— TypeJamie.CrtbpP2
— TypeJamie.CrtbpSystem
— TypeCrtbpSystem{T, D <: Union{T, Nothing}}(μ::T, name::String, char_mass::D, char_length::D, char_time::D)
Struct defining the parameters for the Crtbp System. Contains the mass ratio parameter, $\mu$, as well as the system name and characteristic quantities.
See also: mass_ratio
, characteristic_mass
, characteristic_time
, characteristic_length
, characteristic_velocity
Functions
Jamie.mass_ratio
— Functionmass_ratio(::CrtbpSystem)
Retrieve the mass ratio, μ, of the specified system.
See also: CrtbpSystem
, characteristic_mass
, characteristic_time
, characteristic_length
, characteristic_velocity
Jamie.characteristic_mass
— Functioncharacteristic_mass(::CrtbpSystem)
Retrieve the characteristic mass of the CRTBP system specified. This mass is usually defined as the sum of the masses of the two primaries.
See also: CrtbpSystem
, mass_ratio
, characteristic_time
, characteristic_length
, characteristic_velocity
Jamie.characteristic_length
— Functioncharacteristic_length(::CrtbpSystem)
Retrieve the characteristic length of the CRTBP system specified. This length is usually defined as the semi-major axis of the circular orbit of P2 in the CRTBP.
See also: CrtbpSystem
, mass_ratio
, characteristic_mass
, characteristic_time
, characteristic_velocity
Jamie.characteristic_time
— Functioncharacteristic_length(::CrtbpSystem)
Retrieve the characteristic time of the CRTBP system specified. This time is usually defined as the time such that the universal gravitational constant in the non-dimensional system is unity.
See also: CrtbpSystem
, mass_ratio
, characteristic_mass
, characteristic_length
, characteristic_velocity
Jamie.characteristic_velocity
— Functioncharacteristic_velocity(::CrtbpSystem)
Retrieve the characteristic velocityof the CRTBP system specified. This is equivalent to the characteristic length divided by the characteristic time.
See also: CrtbpSystem
, mass_ratio
, characteristic_mass
, characteristic_length
Jamie.dimensionalize
— Functiondimensionalize(::CrtbpSystem{T,T}, ::PositionVelocity)
Dimensionalize the position and velocity components using the characteristic quantities associated with the CRTBP system.
See also: nondimensionalize
CrtbpSystem
, characteristic_length
, characteristic_velocity
Jamie.nondimensionalize
— Functionnondimensionalize(::CrtbpSystem{T,T}, ::PositionVelocity)
Nondimensionalize the position and velocity components using the characteristic quantities associated with the CRTBP system.
See also: dimensionalize
CrtbpSystem
, characteristic_length
, characteristic_velocity
Jamie.pseudopotential
— Functionpseudopotential(::CrtbpSystem, ::PositionVelocity)
Calculate the CRTBP pseudopotential of the specified position-velocity vector.
See also: pseudopotential_gradient
, pseudopotential_hessian
Jamie.pseudopotential_gradient
— Functionpseudopotential_gradient(::CrtbpSystem, ::PositionVelocity)
Calculate the partials of the CRTBP pseudopotential with respect to all 6 state components in the position-velocity vector.
See also: pseudopotential
, pseudopotential_hessian
Jamie.pseudopotential_hessian
— Functionpseudopotential_hessian(::CrtbpSystem, ::PositionVelocity)
Calculate the second order partials of the CRTBP pseudopotential with respect to all 6 state components in the position-velocity vector.
See also: pseudopotential
, pseudopotential_gradient
Jamie.jacobi_constant
— Functionjacobi_constant(::CrtbpSystem, ::PositionVelocity)
Calculate the Jacobi constant of a state in the CRTBP.
See also: jacobi_constant_gradient
Jamie.jacobi_constant_gradient
— Functionjacobi_constant_gradient(::CrtbpSystem, ::PositionVelocity)
Calculate the gradient of Jacobi constant with respect to all 6 position-velocity variables.
See also: jacobi_constant
Jamie.crtbp_eom
— Functioncrtbp_eom(pv::AbstractArray, sys::CrtbpSystem, t)
Evaluate the equations of motion for the Circular Restricted Three Body Problem (CRTBP) at the state specified by pv
in the system specified by sys
. The time input, t
, while required due to compatibility with DifferentialEquations.jl
, is not used.
Note, here, pv
can be any AbstractArray
due to compatibility with DifferentialEquations
. However, if a PositionVelocity
is not constructible via PositionVelocity(pv)
, an error will be thrown.
See also: crtbp_jacobian
, PositionVelocity
Jamie.crtbp_jacobian
— Functioncrtbp_jacobian(pv::AbstractArray, sys::CrtbpSystem, t)
Evaluate the jacobian of equations of motion for the Circular Restricted Three Body Problem (CRTBP) at the state specified by pv
in the system specified by sys
. The time input, t
, while required due to compatibility with DifferentialEquations.jl
, is not used.
Note, here, pv
can be any AbstractArray
due to compatibility with DifferentialEquations
. However, if a PositionVelocity
is not constructible via PositionVelocity(pv)
, an error will be thrown.
See also: crtbp_eom
, PositionVelocity