projectchrono/chrono

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

What it solves

Project Chrono is a multi-physics simulation package designed to model and simulate complex physical systems. It addresses the challenge of simulating the interaction between rigid bodies, deformable bodies, granular materials, and fluids, often involving large-scale systems governed by complex mathematical equations (DAE, PDE, ODE).

How it works

Implemented in C++ with Python and C# APIs, Chrono uses a variety of mathematical formulations to handle different physics:

  • Rigid and Flexible Multibody Systems: Uses differential-algebraic equations (DAE) and partial differential equations (PDE).
  • Granular Dynamics: Employs either non-smooth contact formulations (DVI) or smooth contact formulations (DAE).
  • Fluid-Solid Interaction: Couples DAEs and PDEs to simulate how fluids and solids interact.
  • Robotics and Autonomous Agents: Integrates sensors (camera, LiDAR, GPS, IMU, SPAD) and provides a ROS2 interface for simulation.

The system is supports parallel computing algorithms (multi-core, GPU, and distributed) to handle large-scale simulations and offers optional modules for specialized systems like ground vehicles and robots.

Who it’s for

Researchers from academia, industry, and federal government working in scientific and engineering problems, specifically those focused on multibody dynamics, finite element analysis, granular dynamics, fluid-solid interaction, ground vehicles, and embodied AI.

Highlights

  • Multi-physics capabilities: Supports rigid, deformable, and flexible multibody systems, granular dynamics, and fluid-solid interaction.
  • Robotics Integration: Built-in sensor simulation for autonomous agents and ROS2 interface.
  • Embodied AI support: Mature support for simulating environments for embodied AI research.
  • Cross-platform: Platform-independent implementation in C++ with APIs for Python and C#.
  • High Performance: Support for GPU (including AMD ROCm) and distributed parallel computing for large-scale simulations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project