Propagation Functions

CRTBPNaturalMotion.propagate_return_all_statesMethod
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 apply affect to 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.
source
CRTBPNaturalMotion.propagate_return_all_statesMethod
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 form term_cond(x,t,integ), where x is the state, t is the independant variable, and integ is 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.
source
CRTBPNaturalMotion.propagate_return_all_statesMethod
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.
source
CRTBPNaturalMotion.propagate_return_all_statesMethod
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 TX

Propagate 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 in tsteps.
source
CRTBPNaturalMotion.propagate_return_arc_lengthMethod
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
source
CRTBPNaturalMotion.propagate_return_final_stateMethod
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 form term_cond(x,t,integ), where x is the state, t is the independant variable, and integ is 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.
source
CRTBPNaturalMotion.propagate_return_final_stateMethod
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.
source
CRTBPNaturalMotion.propagate_return_final_stmMethod
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
source
CRTBPNaturalMotion.propagate_return_timeMethod
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
source