Propagation Functions
CRTBPNaturalMotion.propagate_return_all_states — Method
propagate_return_all_states(
x0::SVector{6,TX},
tspan::Tuple{TT,TT},
mu,
cond::Function,
affect::Function,
iv::Type{AbstractIndependantVariable};
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the full ODE solution. This is done employing a DifferentialEquations.jl ContinuousCallback defined with cond and affect. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
Arguments
x0::SVector{6,TX}: The initial state with x0 = [r0; v0].tspan::Tuple{TT,TT}: The span of the independant variable forwhich to solve the ODE.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).cond::Function: The DifferentialEquations.jl continuous callback condition function that will applyaffectto the integrator struct (see DifferentialEquations.jl callback documentation).affect::Function: The DifferentialEquations.jl continuous callback affect function.iv::Type{AbstractIndependantVariable}: The desired independant variable (Time if unspecified).
Keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
Returns
ODESolution: The full solution to the ODE problem.
CRTBPNaturalMotion.propagate_return_all_states — Method
propagate_return_all_states(
x0::SVector{6,TX},
tspan::Tuple{TT,TT},
mu,
term_cond::Function[, iv::Type{AbstractIndependantVariable}];
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the full ODE solution. At the first point at which term_cond is zero (if any), the integration will terminate. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
Arguments
x0::SVector{6,TX}: The initial state with x0 = [r0; v0].tspan::Tuple{TT,TT}: The span of the independant variable forwhich to solve the ODE.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).term_cond::Function: The DifferentialEquations.jl continuous callback condition function that will terminate the integration when it is zero. Function should be of the formterm_cond(x,t,integ), wherexis the state,tis the independant variable, andintegis the integrator struct (see DifferentialEquations.jl callback documentation).iv::Type{AbstractIndependantVariable}: The desired independant variable (Time if unspecified).
Keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
Returns
ODESolution: The full solution to the ODE problem.
CRTBPNaturalMotion.propagate_return_all_states — Method
propagate_return_all_states(
x0::SVector{6,TX}, tspan::Tuple{TT,TT}, mu [, iv::Type{AbstractIndependantVariable}];
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the full ODE solution. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
Arguments
x0::SVector{6,T}: The initial state with x0 = [r0; v0].tspan::Tuple{T,T}: The span of the independant variable forwhich to solve the ODE.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).iv::Type{AbstractIndependantVariable}: The desired independant variable (Time if unspecified).
Keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
Returns
ODESolution: The full solution to the ODE problem.
CRTBPNaturalMotion.propagate_return_all_states — Method
propagate_return_all_states(
x0::SVector{6,TX},
tsteps::Union{StepRangeLen,AbstractVector},
mu,
iv::Type{AbstractIndependantVariable};
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where TXPropagate the state x0 from tsteps[1] to tsteps[end], returning the solution at each time in tsteps. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
Arguments
x0::SVector{6,TX}: The initial state with x0 = [r0; v0].tsteps::Union{StepRangeLen,AbstractVector}: The time steps at which a state x(t) is desired.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).iv::Type{AbstractIndependantVariable}: The desired independant variable.
Keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
Returns
Vector{SVector{6,TX}}: A vector of states at each time intsteps.
CRTBPNaturalMotion.propagate_return_arc_length — Method
propagate_return_arc_length(
x0::SVector{6,TX}, tspan::Tuple{TT,TT}, mu;
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the arclength along the trajectory. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
arguments
x0::SVector{6,TX}: the initial state with x0 = [r0; v0].tspan::Tuple{TT,TT}: the time span forwhich to solve the ode.mu::Real: the mass parameter of the three-body system (mu = m2 / (m1 + m2)).
keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
returns
TX: The arc-length along the curve
CRTBPNaturalMotion.propagate_return_final_state — Method
propagate_return_final_state(
x0::SVector{6,TX},
tspan::Tuple{TT,TT},
mu,
term_cond::Function [, iv::Type{AbstractIndependantVariable}];
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the final state. At the first point at which term_cond is zero (if any), the integration will terminate. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
Arguments
x0::SVector{6,TX}: The initial state with x0 = [r0; v0].tspan::Tuple{TT,TT}: The span of the independant variable forwhich to solve the ODE.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).term_cond::Function: The DifferentialEquations.jl continuous callback condition function that will terminate the integration when it is zero. Function should be of the formterm_cond(x,t,integ), wherexis the state,tis the independant variable, andintegis the integrator struct (see DifferentialEquations.jl callback documentation).iv::Type{AbstractIndependantVariable}: The desired independant variable (Time if unspecified).
Keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
Returns
SVector{6,TX}: The final state of the ODE solution.
CRTBPNaturalMotion.propagate_return_final_state — Method
propagate_return_final_state(
x0::SVector{6,TX}, tspan::Tuple{TT,TT}, mu [, iv::Type{AbstractIndependantVariable}];
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the final state. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
arguments
x0::SVector{6,TX}: The initial state with x0 = [r0; v0].tspan::Tuple{TT,TT}: The span of the independant variable forwhich to solve the ode.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).iv::Type{AbstractIndependantVariable}: The desired independant variable (Time if unspecified).
keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
returns
SVector{6,TX}: The final state of the ode solution.
CRTBPNaturalMotion.propagate_return_final_stm — Method
propagate_return_final_stm(
x0::SVector{6,TX}, tspan::Tuple{TT,TT}, mu;
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the time span tspan and return the final state transition matrix (STM).
arguments
x0::SVector{6,TX}: The initial state with x0 = [r0; v0].tspan::Tuple{TT,TT}: The span of the independant variable forwhich to solve the ode.mu::Real: The mass parameter of the three-body system (mu = m2 / (m1 + m2)).
keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
returns
SMatrix{6,6,TX,36}: The stm for the full trajectory
CRTBPNaturalMotion.propagate_return_time — Method
propagate_return_time(
x0::SVector{6,TX}, sspan::Tuple{TT,TT}, mu;
solver = Vern9(),
reltol = 1e-14,
abstol = 1e-14,
) where {TX,TT}Propagate the state x0 over the arc-length span sspan and return the arclength along the trajectory. The final argument can be specified to set the desired independant variable (i.e., Time or ArcLength).
arguments
x0::SVector{6,TX}: the initial state with x0 = [r0; v0].sspan::Tuple{TT,TT}: the arc-length span forwhich to solve the ode.mu::Real: the mass parameter of the three-body system (mu = m2 / (m1 + m2)).
keywords
solver::OrdinaryDiffEq.AbstractODESolver: The solver to use for the integration.reltol: The relative tolerance for the solver.abstol: The absolute tolerance for the solver.
returns
TX: The time along the curve