Library
Documentation for SatelliteToolbox.jl.
SatelliteToolbox.equation_of_time — Methodequation_of_time(t::Union{Number, DateTime})Compute the difference between the Sun apparent local time and the Sun mean local time [rad], which is called Equation of Time, at the time t, which can be represented by a Julian Day or DateTime. The algorithm was adapted from [1, p. 178, 277-279].
References
- [1] Vallado, D. A (2013). Fundamentals of Astrodynamics and Applications. 4th ed. Microcosm Press, Hawthorne, CA.
SatelliteToolbox.ltan_to_raan — Methodltan_to_raan(ltan::Union{Number, Time}, t::Union{Number, DateTime}) -> Float64Compute the RAAN [0, 2π] [rad] so that the local time of ascending node (LTAN) is ltan at instant t [UT1].
ltan can be represented as a Number, indicating the hour, or by a Time object.
t can be represented as a Julian Day [UT1] or DateTime [UT1].
SatelliteToolbox.ltdn_to_raan — Methodltdn_to_raan(ltdn::Union{Number, Time}, t::Union{Number, DateTime}) -> Float64Compute the RAAN [0, 2π] [rad] so that the local time of descending node (LTAN) is ltdn at instant t [UT1].
ltdn can be represented as a Number, indicating the hour, or by a Time object.
t can be represented as a Julian Day [UT1] or DateTime [UT1].
SatelliteToolbox.orbital_angular_velocity — Methodorbital_angular_velocity(a::Number, e::Number, i::Number; kwargs...) -> T
orbital_angular_velocity(orb::Orbit{Tepoch, T}; kwargs...) where {Tepoch<:Number, T<:Number} -> TCompute the angular velocity [rad/s] of an object in an orbit with semi-major axis a [m], eccentricity e, and inclination i [rad]. The orbit can also be specified by orb (see Orbit).
The output type T in the first signature is obtained by promoting the inputs to a float type.
Keywords
perturbation::Symbol: Symbol to select the perturbation terms that will be used. (Default::J2)m0::Number: Standard gravitational parameter for Earth [m³ / s²]. (Default =GM_EARTH)J2::Number: J₂ perturbation term. (Default =EGM_2008_J2)J4::Number: J₄ perturbation term. (Default =EGM_2008_J4)R0::Number: Earth's equatorial radius [m]. (Default =EARTH_EQUATORIAL_RADIUS)
Perturbations
The keyword argument perturbation can be used to select the perturbation terms that will be considered in the computation. The possible values are:
:J0: Consider a Keplerian orbit.:J2: Consider the perturbation terms up to J2.:J4: Consider the perturbation terms J2, J4, and J2².
If perturbation is omitted, it defaults to :J2.
SatelliteToolbox.orbital_angular_velocity_to_semimajor_axis — Methodorbital_angular_velocity_to_semimajor_axis(angvel::Number, e::Number, i::Number; kwargs...) -> T, BoolCompute the semi-major axis [m] that will provide an angular velocity angvel [rad / s] in an orbit with eccentricity e and inclination i [rad].
Notice that the angular velocity angvel is related to the nodal period, i.e. the time between two consecutive passages by the ascending node.
The output type T in the first signature is obtained by promoting the inputs to a float type.
Keywords
max_iterations::Int: Maximum number of iterations allowed in the Newton-Raphson algorithm. (Default = 20)perturbation::Symbol: Symbol to select the perturbation terms that will be used. (Default::J2)tolerance::Union{Nothing, Number}: Residue tolerances to verify if the numerical method has converged. If it isnothing,√eps(T)will be used, whereTis the internal type for the computations. Notice that the residue function unit is [deg / min]. (Default = nothing)m0::Number: Standard gravitational parameter for Earth [m³ / s²]. (Default =GM_EARTH)J2::Number: J₂ perturbation term. (Default =EGM_2008_J2)J4::Number: J₄ perturbation term. (Default =EGM_2008_J4)R0::Number: Earth's equatorial radius [m]. (Default =EARTH_EQUATORIAL_RADIUS)
Returns
T: Semi-major axis [m].Bool:trueif the numerical method converged,falseotherwise.
Perturbations
The keyword argument perturbation can be used to select the perturbation terms that will be considered in the computation. The possible values are:
:J0: Consider a Keplerian orbit.:J2: Consider the perturbation terms up to J2.:J4: Consider the perturbation terms J2, J4, and J2².
If perturbation is omitted, it defaults to :J2.
SatelliteToolbox.orbital_period — Methodorbital_period(a::Number, e::Number, i::Number; kwargs...) -> T
orbital_period(orb::Orbit{Tepoch, T}; kwargs...) where {Tepoch<:Number, T<:Number} -> TCompute the orbital period [s] of an object in an orbit with semi-major axis a [m], eccentricity e, and inclination i [rad]. The orbit can also be specified by orb (see Orbit).
The output type T in the first signature is obtained by promoting the inputs to a float type.
Keywords
perturbation::Symbol: Symbol to select the perturbation terms that will be used. (Default::J2)m0::Number: Standard gravitational parameter for Earth [m³ / s²]. (Default =GM_EARTH)J2::Number: J₂ perturbation term. (Default =EGM_2008_J2)J4::Number: J₄ perturbation term. (Default =EGM_2008_J4)R0::Number: Earth's equatorial radius [m]. (Default =EARTH_EQUATORIAL_RADIUS)
Perturbations
The keyword argument perturbation can be used to select the perturbation terms that will be considered in the computation. The possible values are:
:J0: Consider a Keplerian orbit.:J2: Consider the perturbation terms up to J2.:J4: Consider the perturbation terms J2, J4, and J2².
If perturbation is omitted, it defaults to :J2.
SatelliteToolbox.raan_time_derivative — Methodraan_time_derivative(a::Number, e::Number, i::Number; kwargs...) -> TCompute the time derivative of the right ascension of the ascending node (RAAN) [rad / s] in an orbit with semi-major axis a [m], eccentricity e, and inclination i [rad]. The orbit can also be specified by orb (see Orbit).
The output type T in the first signature is obtained by promoting the inputs to a float type.
Keywords
perturbation::Symbol: Symbol to select the perturbation terms that will be used. (Default::J2)m0::Number: Standard gravitational parameter for Earth [m³ / s²]. (Default =GM_EARTH)J2::Number: J₂ perturbation term. (Default =EGM_2008_J2)J4::Number: J₄ perturbation term. (Default =EGM_2008_J4)R0::Number: Earth's equatorial radius [m]. (Default =EARTH_EQUATORIAL_RADIUS)
Perturbations
The keyword argument perturbation can be used to select the perturbation terms that will be considered in the computation. The possible values are:
:J0: Consider a Keplerian orbit.:J2: Consider the perturbation terms up to J2.:J4: Consider the perturbation terms J2, J4, and J2².
If perturbation is omitted, it defaults to :J2.
SatelliteToolbox.raan_to_ltan — Methodraan_to_ltan(raan::Number, t::Union{Number, DateTime}) -> Float64Compute the local time of the ascending node (LTAN) given the raan at instant t [UT1].
t can be represented as a Julian Day [UT1] or DateTime [UT1].
SatelliteToolbox.raan_to_ltdn — Methodraan_to_ltdn(raan::Number, t::Union{Number, DateTime}) -> Float64Compute the local time of the ascending node (LTDN) given the raan at instant t [UT1].
t can be represented as a Julian Day [UT1] or DateTime [UT1].