/ascent-beta

A modern, open source, C++ simulation architecture and engine. Modular and dynamic, with discrete and continuous parameter mixing. Easily solve complex systems of differential equations.

Primary LanguageC++Apache License 2.0Apache-2.0

ASCENT-beta

Build Status Join the chat at https://gitter.im/AnyarInc/ascent

This version of Ascent, which is now known as Ascent-beta, is being replaced by a new Ascent framework. The new version of Ascent is built from the ground up to be the fastest and most versatile modular simulation engine and Ordinary Differential Equation solver that we know of.

Now available here: Ascent

Benefits of the new Ascent architecture:

  • Optimized For Maximum Speed: We've seen up to 12X speed improvements.
  • Header Only
  • Solve State Space Systems
  • Better Scripting
  • Better Multi-Threading
  • Use boost's odeint as the numerical integrator for modular simulations
  • And More...

Ascent-beta

Ascent is a modern, open source, C++ simulation architecture and engine. Built around a powerful ordinary differential equation solver, Ascent manages complex and dynamic systems, numerical integration, and the complete simulation lifecycle.

Why build simulations with Ascent?

  • Modular: Interface with and share modules built on Ascent.
  • Object Oriented: Polymorphic module handling.
  • Fast: Optimized for dynamic systems.
  • 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).

Features

  • 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.
  • Variable Tracking: Record time history of intrinsic and custom data types.
  • Asynchronous Sampling
  • Asynchronous Event Scheduling
  • Integrators
    • Runge Kutta (2nd, 4th, Merson)
    • Dormand Prince (45, 87, with adaptive stepping)
    • Multiple real-time predictor-correctors

Prerequisites

  • C++14 compliant compiler
  • CMake Cross-Platform build system (Required)
  • ChaiScript Embedded Scripting Language (Included)
  • Eigen Linear Algebra Library (Included)
  • jsoncons JSON Construction/Parsing (Included)

Clone recursively to include dependencies.

Setup

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

Support

Contributions are Welcome!


Developed by Anyar, Inc. for

  • High fidelity, six degree of freedom missile modeling
  • Viscoelastic human injury models (blunt and blast trauma)