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.
The LICENSE will be strictly enforced once this toolkit reaches production-level quality.
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.
[ ] Detect orbital events in other frames (#107)
[x] Multibody dynamics using XB files (caveat: #61) (cf. tests/orbitaldyn.rs)
[ ] Spacecraft attitude control and some useful optimal control algorithms
[x] Statistical Orbit Determination: Classical and Extended Kalman Filter (cf. tests/statod/twobody.rs)
[x] High fidelity ground station placement (#92)
[x] Orbital state manipulation (from GMAT source code and validated in GMAT) (cf. tests/state.rs)
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).
Refer to the tests for short examples.