Ascent is a modern, open source, C++ architecture for time and module based simulations. Built around a powerful ordinary differential equation solver, Ascent manages complex and dynamic systems, numerical integration, and the complete simulation lifecycle.
- Modular: Interface with and share modules built on Ascent.
- Object Oriented: Polymorphic module handling.
- Fast: Dynamic run-time behavior from back-end C++ libraries.
- Thread Safe: Run simulators on separate threads for maximum performance.
- Community: Share your open source modules and libraries built on Ascent in the Ascent-Community repositories.
- Easy To Begin!: Solve most differential equations or systems with two classes (asc::Module and asc::Link).
- Automatic Simulation Ordering: Develop and solve modular, complex systems with automatic ordering of simulation flow.
- Run-Time Dynamic Systems: Allows dynamic module creation, deletion, linking, and ordering for numerical integration.
- Variable Tracking: Record time history of integers, doubles, vectors, and custom data types.
- Asynchronous Sampling
- Event Scheduling
- Integrators
- Runge Kutta
- Dormand Prince
- multiple real-time predictor-correctors.
- Some integrators support adaptive stepping
- C++14 compliant compiler
- CMake Cross-Platform build system (Required)
- Eigen C++ Linear Algebra Library (Included)
- ChaiScript Embedded Scripting Language (Included)
To change the default generator (Visual Studio 14 2015 Win64), edit build.bat to another compatible CMake generator.
git clone https://github.com/AnyarInc/ascent.git
cd ascent
build
Developed by Anyar, Inc.
- high fidelity, six degree of freedom missile modeling
- viscoelastic human injury
- blunt and blast trauma