An extremely fast and flexible C++ simulation engine and differential equation solver.
See the Ascent Wiki for more examples and help
Study the modular-spring-damper example to learn the basics of solving matrix free systems of ordinary differential equations in an object-oriented manner
Ascent's integration algorithms are designed for speed, and outperform boost's odeint in both Debug and Release
Integration algorithms are automatically vectorized when using std::vector
Ascent solvers conform to the odeint system syntax, letting you run odeint system without changes (and with faster results!)
odeint solvers can also be used to run Ascent simulations, providing all flexibility of the odeint engine with Ascent's simulation framework
Ascent can solve complex, dynamic systems of differential equations in a modular, object-oriented manner
Easily multi-thread systems and change integrators on the fly
odeint is a C++ ordinary differential equation solver that is part of the boost library.
Ascent was partly inspired by the design of odeint, but Ascent offers better performance where comparisons can be made, this is especially true for solving object-oriented systems.
odeint offers various state types and solvers that Ascent integration algorithms currently do not support, so the odeint solvers are a viable option as the integration algorithm beneath an Ascent simulation.