Skip to content

High-performance C++ library for multiphysics and multibody dynamics simulations

License

Notifications You must be signed in to change notification settings

rserban/chrono

 
 

Repository files navigation

ATTENTION

The structure of the Chrono git repository was changed as follows:

  • The main development branch is now called main (previously develop)
  • The master branch, now obsolete, was deleted
  • Releases are located in branches named release/*.* and have tags of the form *.*.*

Project CHRONO

pipeline status BSD License

Distributed under a permissive BSD license, Chrono is an open-source multi-physics package used to model and simulate:

  • dynamics of large systems of connected rigid bodies governed by differential-algebraic equations (DAE)
  • dynamics of deformable bodies governed by partial differential equations (PDE)
  • granular dynamics using either a non-smooth contact formulation resulting in differential variational inequality (DVI) problems or a smooth contact formulation resulting in DAEs
  • fluid-solid interaction problems whose dynamics is governed by coupled DAEs and PDEs
  • first-order dynamic systems governed by ordinary differential equations (ODE)

Chrono provides a mature and stable code base that continues to be augmented with new features and modules. The core functionality of Chrono provides support for the modeling, simulation, and visualization of rigid and flexible multibody systems with additional capabilities offered through optional modules. These modules provide support for additional classes of problems (e.g., granular dynamics and fluid-solid interaction), modeling and simulation of specialized systems (such as ground vehicles), co-simulation, run-time visualization, post-processing, interfaces to external linear solvers, or specialized parallel computing algorithms (multi-core, GPU, and distributed) for large-scale simulations.

Used in many different scientific and engineering problems by researchers from academia, industry, and government, Chrono has mature and sophisticated support for multibody dynamics, finite element analysis, granular dynamics, fluid-solid interaction, ground vehicle simulation and vehicle-terrain interaction.

Implemented almost entirely in C++, Chrono also provides Python and C# APIs. The build system is based on CMake. Chrono is platform-independent and is actively tested on Linux, Windows, and MacOS using a variety of compilers.

Documentation

Support

Packages

No packages published

Languages

  • C++ 82.8%
  • C 6.5%
  • Cuda 3.3%
  • Python 2.5%
  • CMake 2.2%
  • SWIG 1.0%
  • Other 1.7%