nyx-space 0.0.11

A high-fidelity space mission toolkit, with orbit propagation, estimation and some systems engineering
Documentation

nyx

Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust. It will eventually provide most functionality in Python for rapid prototyping.

The target audience is researchers and astrodynamics engineers. The rationale for using Rust is to allow for very fast computations, guaranteed thread safety, and portability to all platforms supported by Rust.

nyx-space on crates.io nyx-space on docs.rs

License

The LICENSE will be strictly enforced once/if this toolkit reaches production-level quality.

Features

  • Propagation with different Runge Kutta methods (validated in GMAT)
  • Convenient and explicit definition of the dynamics for a simulation (cf. tests/lib.rs)
  • Orbital state manipulation (from GMAT source code and validated in GMAT)
  • Statistical Orbit Determination: Classical and Extended Kalman Filter
  • Multibody dynamics using XB files (caveat:https://gitlab.com/chrisrabotin/nyx/issues/61)
  • Orbit Determination with multibody dynamics
  • Finite burns with fuel depletion (including low thrust / ion propulsion)
  • Planetary and Solar eclipse and visibility computation
  • Sub-Optimal Control of continuous thrust (Ruggerio, Naasz, Petropoulos)
  • Spacecraft attitude control and some useful optimal control algorithms
  • Monte Carlo simulations on different parameters
  • Link budget computations

Note: Some of these features may only be made available only through a commercial license in the future.

Who am I?

A astrodynamics engineer with a heavy background in software. Nyx relies on the fallbacks of smd, a library I wrote in Go while researching at the University of Colorado at Boulder. I work for Advanced Space (we do cool stuff), but this code is mostly developed on my leisure time.