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.

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

License

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

Features

Unless specified otherwise in the documentation of specific functions, all vectors and matrices are statically allocated.

Propagation

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 Advanced Space (we do really cool stuff).

Examples

Refer to the tests for short examples.

Exporting states to a CSV file

Refer to the test qlaw_as_ruggiero_case_f in tests/prop/closedloop_multi_oe_ruggiero.rs.

Or just run it as: cargo test qlaw_as_ruggiero_case_f --release -- --nocapture

And check the file called rugg_case_f.csv

Orbital Determination - Estimation plots of a Halo orbit using a classical Kalman filter

Note: the Kalman Filtering capabilities have been validated against JPL Monte using a proprietary scenario.

Data to recreate this simulation is deliberately not shared. This just provides an example of what is possible using this library. Halo position covar Halo velocity covar