Skip to content

Propagate the evolution of large number of orbiting objects while detecting reliably conjunctions and collisions.

License

Notifications You must be signed in to change notification settings

giovannifacchinetti99/cascade

 
 

Repository files navigation

cascade

Code Coverage


Logo

n-body simulation for the evolution of orbital environments
Explore the docs »

Report bug · Request feature · Discuss

As the number of artificial satellites orbiting our planet grows, the likelihood of collisions increases, potentially triggering a cascade effect making certain orbits unusable.

cascade is a C++/Python library developed to propagate the evolution of large number of orbiting objects while detecting reliably close encounters and collisions. It is coded in modern C++20 with focus on the efficency of the underlying N-body simulation with collision/conjunction detection. Its development was motivated to help conjunction tracking and collision detection of orbiting space debris populations.

Notable features include:

  • an original collision detection algorithm exploiting high order Taylor expansions.
  • guaranteed detection of all occuring collisions and conjunctions.
  • high precision orbital propagation via Taylor integration.
  • possibility to define custom dynamics.
  • seamless usage of modern SIMD instruction sets (including AVX/AVX2/AVX-512/Neon/VSX).
  • seamless multi-threaded parallelisation.

Installation

Via pip:

$ pip install esa_cascade

Via conda + conda-forge:

$ conda install cascade

About

Propagate the evolution of large number of orbiting objects while detecting reliably conjunctions and collisions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 59.4%
  • Jupyter Notebook 36.1%
  • Python 2.7%
  • CMake 1.5%
  • Shell 0.3%