Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust.
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.
Unless specified otherwise in the documentation of specific functions, all vectors and matrices are statically allocated.
Lots of features are still being worked on, and there currently isn’t any guarantee that the API won’t change between versions. However, you can be assured that the API will not change for previous versions.
Outstanding mission design features available here, and orbit determination features here.
Propagation
Propagation with different Runge Kutta methods (validated in GMAT)
Convenient and explicit definition of the dynamics for a simulation (cf. tests/orbitaldyn.rs)
Propagation to different stopping conditions
Detect orbital events in other frames
Dynamical models
Multibody dynamics using XB files
Finite burns with fuel depletion (including low thrust / ion propulsion)
Sub-Optimal Control of continuous thrust (e.g. Ruggerio, Petropoulos/Q-law)
Solar radiation pressure modeling
Basic drag models (cannonball)
Spherical harmonics
Spacecraft attitude control and some useful optimal control algorithms
Orbit determination
Statistical Orbit Determination: Classical and Extended Kalman Filter
Orbit Determination with multibody dynamics
Smoothing and iterations of CKFs
Square Root Information Filer (SRIF) (removed in version 1.0.0-alpha.1)
An easy-to-use OD user interface
Estimation with spherical harmonics enabled
Solar radiation pressure (SRP) parameter estimation (#98)
Covariance mapping and estimate frame transformations
Planetary and Solar eclipse and visibility computation
Light-time corrections and abberations
Frame rotations
Who am I?
An astrodynamics engineer with a heavy background in software. Nyx relies on the drawbacks of
smd, a library I wrote in Go while researching at the University
of Colorado at Boulder. I work for Masten Space Systems on the XL-1 Moon Lander (we do really cool stuff).
nyx
Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust.
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.
License
The AGPLv3 LICENSE is strictly enforced.
Features
Unless specified otherwise in the documentation of specific functions, all vectors and matrices are statically allocated.
Lots of features are still being worked on, and there currently isn’t any guarantee that the API won’t change between versions. However, you can be assured that the API will not change for previous versions. Outstanding mission design features available here, and orbit determination features here.
Propagation
Dynamical models
Orbit determination
Celestial computations
Who am I?
An astrodynamics engineer with a heavy background in software. Nyx relies on the drawbacks of smd, a library I wrote in Go while researching at the University of Colorado at Boulder. I work for Masten Space Systems on the XL-1 Moon Lander (we do really cool stuff).
Examples
Refer to the showcase.