Skip to content

Yuricst/paladin

Repository files navigation

paladin : python library for astrodynamics

PyPI Documentation
PyPI version documentation workflow

!! Currently only tested/working with python 3.11 and numpy 1.X (due to restriction by pygsl) !!

Installation

To install via pip

pip install spacecraft-paladin

To uninstall

pip uninstall spacecraft-paladin

Environment setup

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.

Overview

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).

Dependencies

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

SPICE setup

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 setup

See pygsl setup notes

Capabilities

  • GSL event capability
  • Propagation in CR3BP
  • Propagation in N-body problem
  • Transition to full-ephemeris model
  • Helper methods for frame transformation

Gallery

NRHO propagation

About

Full-ephemeris integrator in python via pygsl

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published