FullEphemerisPropagator.jl
FullEphemerisPropagator.jl
is an astrodynamics library written in pure Julia for the propagation of the translational state of a spacecraft in high-fidelity dynamics models:
\[\ddot{\boldsymbol{r}} = -\dfrac{\mu}{r^3} \boldsymbol{r} + \sum_i \boldsymbol{a}_{\mathrm{body}\,i} + \boldsymbol{a}_{\mathrm{srp}}\]
The library is essentially a wrapper around DifferentialEquations.jl
, leveraging its numerical integration ecosystem. Ephemerides of celestial bodies are queried using JPL's SPICE kernels, which are handled via SPICE.jl
.
Current capabilities include:
- N-body equations of motion (restricted two-body + 3rd body perturbations)
- Solar radiation pressure
- Propagation of state-transition matrix (STM) together with the state
Package dependencies
Using this package requires the following Julia packages:
LinearAlgebra
,StaticArrays
,SPICE
,OrdinaryDiffEq
,Symbolics
,SymbolicsUtils
,Printf
In addition, relevant SPICE kernels must be downloaded and furnsh
-ed. The minimum required kernels (for simple N-body propagation) is the leapseconds kernel (typically naif0012.tls
, see here) and the ephemeris kernel (typically de440.bsp
for major solar system bodies, see here).
Some generic kernels may be found at the NAIF website: https://naif.jpl.nasa.gov/pub/naif/generic_kernels/
Setup
To setup and use the library, run
pkg> add https://github.com/Yuricst/FullEphemerisPropagator.jl.git