Querying JPL CRTBP Periodic Orbit API
CRTBPNaturalMotion.get_jpl_orbits — Method
Get periodic orbits from the JPL CRTBP Periodic Orbit API. See JPL's web application and API documentation for details.
Arguments
query::String: The query string to send to the JPL API. See JPL's API documentation for details on manually constructing an HTTP Request query.
Keyword Arguments
ode_solver = Vern9(): The ODE solver to use for computing the orbits. Default isVern9(). This is only employed for computing the arc-length along the orbit.ode_reltol = 1e-14: Relative tolerance for the ODE solver. Default is1e-14.ode_abstol = 1e-14: Absolute tolerance for the ODE solver. Default is1e-14.
Returns
OrbitSet: A set of periodic orbits that meet the query criteria.
CRTBPNaturalMotion.get_jpl_orbits — Method
get_jpl_orbits(;
sys = "earth-moon",
family = "halo",
libr = 1,
branch = "N",
periodmin = nothing,
periodmax = nothing,
periodunits = nothing,
jacobimin = nothing,
jacobimax = nothing,
stabmin = nothing,
stabmax = nothing,
ode_solver = Vern9(),
ode_reltol = 1e-14,
ode_abstol = 1e-14,
)Get periodic orbits from the JPL CRTBP Periodic Orbit API. See JPL's web application and API documentation for details.
Keyword Arguments
sys::String = "earth-moon": The system to get orbits for. Options include:"earth-moon""mars-phobos""sun-earth""sun-mars""jupiter-europa""saturn-enceladus""saturn-titan"
family::String = "halo": The family of orbits to get. Options include:"halo""vertical""axial""lyapunov""longp""short""butterfly""dragonfly""resonant""dro""dpo""lpo"
libr::Int = 1: The libration point to get orbits around. Default is1. Requred for"halo","lyapunov"(1,2, or3),"longp","short"(4or5), and"axial","vertical"(1,2,3,4, or5).branch::String = "N": The branch of the family to get. Required for"halo","dragonfly","butterfly"("N"of"S"),"lpo"("E"or"W"), and"resonant"(e.g.,"12"for 1:2 resonant orbits).periodmin::Union{Float64,Nothing} = nothing: Minimum period of orbits to get. Default isnothing.periodmax::Union{Float64,Nothing} = nothing: Maximum period of orbits to get. Default isnothing.periodunits::Union{String,Nothing} = nothing: Units of period. Options include:"s": seconds"h": hours"d": days"TU": dimensionless time units
jacobimin::Union{Float64,Nothing} = nothing: Minimum Jacobi constant of orbits to get. Default isnothing.jacobimax::Union{Float64,Nothing} = nothing: Maximum Jacobi constant of orbits to get. Default isnothing.stabmin::Union{Float64,Nothing} = nothing: Minimum stability of orbits to get. Default isnothing.stabmax::Union{Float64,Nothing} = nothing: Maximum stability of orbits to get. Default isnothing.ode_solver = Vern9(): The ODE solver to use for computing the orbits. Default isVern9(). This is only employed for computing the arc-length along the orbit.ode_reltol = 1e-14: Relative tolerance for the ODE solver. Default is1e-14.ode_abstol = 1e-14: Absolute tolerance for the ODE solver. Default is1e-14.
Returns
OrbitSet: A set of periodic orbits that meet the query criteria.
CRTBPNaturalMotion.filter_orbit_set — Method
filter_orbit_set(
orbit_set::OrbitSet;
min_r1 = -Inf,
max_r1 = Inf,
min_r2 = orbit_set.system.radius_secondary,
max_r2 = Inf,
ode_solver = Vern9(),
ode_reltol = 1e-14,
ode_abstol = 1e-14,
)Filters a given OrbitSet with additional criteria that are more expensive to evaluate than what we'd like to consider in get_jpl_orbits()
Arguments
orbit_set::OrbitSet: The orbit set you'd like to filter
Keyword Arguments
min_r1::AbstractFloat = nothing: The minimum allowable radius (in km) about the primary body.max_r1::AbstractFloat = nothing: The maximum allowable radius (in km) about the primary body.min_r2::AbstractFloat = orbit_set.system.radius_secondary: The minimum allowable radius (in km) about the secondary body.max_r2::AbstractFloat = nothing: The maximum allowable radius (in km) about the secondary body.ode_solver = Vern9(): The ODE solver to use for checking criteria along a full orbit.ode_reltol = 1e-14: Relative tolerance for the ODE solver. Default is1e-14.ode_abstol = 1e-14: Absolute tolerance for the ODE solver. Default is1e-14.