Co-simulation

Description

Co-simulation support for vehicle-terrain interaction.

The vehicle co-simulation module provides an MPI_based framework for co-simulating a multibody system representing a wheeled or tracked mechanism with various terrain models and optionally various tire models. It implements a 3-way explicit force-displacement co-simulation approach. The three different types of nodes present in a co-simulation are as follows:

  • MBS node, a single MPI rank which simulates the multibody system.
  • Tire nodes, a number of MPI ranks (equal to the number of wheels), each simulating one of the tires.
  • Terrain node(s), one or more MPI ranks which simulate the deformable terrain.

For a wheeled system, the inter-node communication at each synchronization time is as follows:

  • MBS node sends spindle body state to corresponding Tire nodes
  • Tire nodes send spindle forces to MBS node
  • Tire nodes send tire state (rigid body state or deformable mesh state) to Terrain node
  • Terrain node sends tire forces (single resultant force or distributed vertex forces) to corresponding Tire node

For a tracked system, the inter-node communication at each synchronization time is at follows:

  • MBS node sends track shoe states to the Terrain node
  • Terrain node sends forces acting on track shoes to the MBS node

The communication interface between Tire and Terrain nodes or between tracked MBS and Terrain nodes can be of one of two types:

Collaboration diagram for Co-simulation:

Modules

 Multibody system nodes
 
 Tire simulation nodes
 
 Terrain nodes using Chrono physics
 

Classes

class  chrono::vehicle::ChVehicleCosimBaseNode
 Base class for a co-simulation node. More...
 
class  chrono::vehicle::ChVehicleCosimOtherNode
 Definition of an additional MPI node not directly involved in co-simulation. More...
 
class  chrono::vehicle::ChVehicleCosimTerrainNode
 Base class for a terrain node. More...
 
class  chrono::vehicle::ChVehicleCosimTireNode
 Base class for all tire nodes. More...
 
class  chrono::vehicle::ChVehicleCosimTrackedMBSNode
 Base class for all MBS nodes with tracks. More...
 
class  chrono::vehicle::ChVehicleCosimWheeledMBSNode
 Base class for all MBS nodes with wheels. More...