Library

Documentation for AstroPropagators.jl.

AstroPropagators.Cowell_EOM!Method
function Cowell_EOM!(
    du::AbstractVector,
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Cowell propagation schema for orbital trajectories

Arguments: -du::AbstractVector: In-place vector to store the instantenous rate of change of the current state with respect to time. -u::AbstractVector: The current Cartesian state. -p::ComponentVector: The parameter vector, only the simulation start date JD is provided. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns:

  • nothing
source
AstroPropagators.Cowell_EOMMethod
function Cowell_EOM(
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Cowell propagation schema for orbital trajectories

Arguments: -u::AbstractVector: The current Cartesian state. -p::ComponentVector: The parameter vector, only the simulation start date JD is provided. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns: -du::AbstractVector: Instantenous rate of change of the current state with respect to time.

source
AstroPropagators.GaussVE_EOM!Method
function GaussVE_EOM!(
    du::AbstractVector,
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Gauss variational propagation schema for orbital trajectories

Arguments: -du::AbstractVector: In-place vector to store the instantenous rate of change of the current state with respect to time. -u::AbstractVector: The current Keplerian state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns:

  • nothing
source
AstroPropagators.GaussVE_EOMMethod
function GaussVE_EOM(
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Gauss variational propagation schema for orbital trajectories

Arguments: -u::AbstractVector: The current Keplerian state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns: -du::AbstractVector: Instantenous rate of change of the current state with respect to time.

source
AstroPropagators.Milankovich_EOM!Method
function Milankovich_EOM!(
    du::AbstractVector,
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Milankovich propagation schema for orbital trajectories

Arguments: -du::AbstractVector: In-place vector to store the instantenous rate of change of the current state with respect to time. -u::AbstractVector: The current Milankovich state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns:

  • nothing
source
AstroPropagators.Milankovich_EOMMethod
function Milankovich_EOM(
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Milankovich propagation schema for orbital trajectories

Arguments: -u::AbstractVector: The current Milankovich state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns: -du::AbstractVector: Instantenous rate of change of the current state with respect to time.

source
AstroPropagators.USM6_EOM!Method
function USM6_EOM!(
    du::AbstractVector,
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Unified State Model (MRP's) propagation schema for orbital trajectories

Arguments: -du::AbstractVector: In-place vector to store the instantenous rate of change of the current state with respect to time. -u::AbstractVector: The current USM6 state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns:

  • nothing
source
AstroPropagators.USM6_EOMMethod
function USM6_EOM(
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Unified State Model (MRP's) propagation schema for orbital trajectories

Arguments: -u::AbstractVector: The current USM6 state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns: -du::AbstractVector: Instantenous rate of change of the current state with respect to time.

source
AstroPropagators.USM7_EOM!Method
function USM7_EOM!(
    du::AbstractVector,
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Unified State Model (quaternions) propagation schema for orbital trajectories

Arguments: -du::AbstractVector: In-place vector to store the instantenous rate of change of the current state with respect to time. -u::AbstractVector: The current USM7 state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns:

  • nothing
source
AstroPropagators.USM7_EOMMethod
function USM7_EOM(
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Unified State Model (quaternions) propagation schema for orbital trajectories

Arguments: -u::AbstractVector: The current USM7 state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Returns: -du::AbstractVector: Instantenous rate of change of the current state with respect to time.

source
AstroPropagators.USMEM_EOM!Method
function USMEM_EOM!(
    du::AbstractVector,
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Unified State Model (exponential mapping) propagation schema for orbital trajectories

Arguments: -du::AbstractVector: In-place vector to store the instantenous rate of change of the current state with respect to time. -u::AbstractVector: The current USM7 state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Keyword Arguments"

-Φ_tol::Float64: The value to switch to the Taylor series expansion to avoid singularity.

Returns:

  • nothing
source
AstroPropagators.USMEM_EOMMethod
function USMEM_EOM(
    u::AbstractVector,
    p::ComponentVector,
    t::Number,
    models::NTuple{N,AstroForceModels.AbstractAstroForceModel},
) where {N}

Unified State Model (exponential mapping) propagation schema for orbital trajectories

Arguments: -u::AbstractVector: The current USMEM state. -p::ComponentVector: The parameter vector, the simulation start date JD and the central body gravitational parameter. -t::Number: The current time. -models::NTuple{N,AstroForceModels.AbstractAstroForceModel}: Tuple of the acceleration models.

Keyword Arguments"

-Φ_tol::Float64: The value to switch to the Taylor series expansion to avoid singularity.

Returns: -du::AbstractVector: Instantenous rate of change of the current state with respect to time.

source
AstroPropagators.impulsive_burn!Method
function impulsive_burn!(
    integrator::SciMLBase.DEIntegrator, 
    ΔV::AbstractVector; 
    coordinate_set::AstroCoords.AstroCoord=Cartesian
)

Computes new state from an input impulsive burn. The supplied burn should be in the inertial frame and has to be computed before-hand. Both will change in future iterations.

Arguments: -integrator::SciMLBase.DEIntegrator: The differential equation integrator object. -ΔV::AbstractVector: The deltaV of the impulsive burn. -coordinate_set::AstroCoords.AstroCoord=Cartesian: The coordinate set the propagation is occurring in. Returns: -nothing

source