PyPI | Documentation |
---|---|
!! Currently only tested/working with python 3.11 and numpy 1.X (due to restriction by pygsl) !!
To install via pip
pip install spacecraft-paladin
To uninstall
pip uninstall spacecraft-paladin
An example virtual environment for working with this library can be initialized using poetry
via
poetry install
pip install pygsl
Note: pygsl
cannot be imported via poetry
as it does not PEP 517 builds.
This package provides tools for conducting CR3BP and ephemeris level analysis in cislunar and deep-space environments.
While the library is implemented in python, the majority of functionalities are powered by either SPICE routines or through numpy/scipy/numba implementations, resulting in (relatively) fast computations.
For numerical integration of ODEs, paladin
provides the option of using either scipy
or gsl
; the latter is recommended due to higher accuracy.
Optimization is conducted by constructing problems as pygmo
udp's, which can then be solved through a variety of compatible solvers, including IPOPT, SNOPT, or WORHP (the latter two requires licenses).
Developed for python 3.10 & 3.11.
Package requirements:
numpy
,matplotlib
,numba
,scipy
,spiceypy
,sympy
,pygsl
Optional:
pygmo
,pygmo_plugins_nonfree
: required for running trajectory construction problems
Users are responsible for downloading the generic SPICE kernels froom the NAIF website. In addition, supplementary custom kernels specific to this module are stored in paladin/assets/spice/
. The most commonly required kernels are:
naif0012.tls
de440.bsp
gm_de440.tpc
- GSL event capability
- Propagation in CR3BP
- Propagation in N-body problem
- Transition to full-ephemeris model
- Helper methods for frame transformation
NRHO propagation