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}) -> Float64
Compute 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}) -> Float64
Compute 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} -> T
Compute 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, Bool
Compute 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, whereT
is 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
:true
if the numerical method converged,false
otherwise.
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} -> T
Compute 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...) -> T
Compute 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}) -> Float64
Compute 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}) -> Float64
Compute 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].