Skip to content

essa-software/essa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

840 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESSA

ESSA, or Extremely Sophisticated Space Application is an ambitious attempt to create an extremely accurate simulator of gravitational forces in an N-body system. You can create new objects and track the relationships between them. It is possible to create your own planetar systems or use pre-defined templates, like Solar System or Jupiter System.

Our main goal is to create a stable simulation that is consistent with the real world and reasonably attractive.

The application is written in modern C++20 and uses the latest additions to this standard, including concepts, modern STL classes (like std::optional) or constant evaluation consteval. It uses the CMake build system to ensure cross-platform [1].

  • [1] Currently ESSA is tested only on Linux. Not fully-functional Windows builds are provided.

Features

  • Simulation of gravitational forces in an N-body system:
    • Numerical counting of planetary positions, with configurable tick length
    • The Leapfrog KDK integrator is used for as accurate as possible physics while keeping good performance - Solar System template runs at ~67500 iterations per second on AMD Ryzen 5 5600H CPU, with default settings (10 iterations/tick)
  • Ability to add new bodies, including with automatic counting of orbits (either exactly or based on various approximations)
  • Basic GUI library - widget/GUI framework with auto-layout and simple windowing system, inspired by Qt.
  • Simple Python API for scripting, PySSA.

How to build and run this?

If you are on Windows, you can download the prebuilt binaries in Releases page. Note that it doesn't support PySSA; you would need to build from source to use Python scripting.

If you are on Linux, you can use build instructions to build ESSA from source.

Documentation

Packages

 
 
 

Contributors

Languages