How carla-simulator/carla_chrono works
Chrono is a multiphysics simulation library. An engineer models a physical system, advances its dynamics, and inspects or exchanges simulation results; optional modules extend this workflow to sensors, vehicles, fluids, parallel execution, and co-simulation. The excerpts show selected solver, vehicle-engine, sensor-rendering, and synchronization internals, but not the main simulation implementation. Therefore, links for broader capabilities are limited to those documented in the README; unsampled modules are represented at existing directory paths.
Main entry points: physics System model · timestepper Dynamics solver · collision Collision detection · chrono_vehicle Vehicle simulation
Components 19
Simulation core
- System model
src/chrono/physics - Dynamics solver
src/chrono/timestepper - Collision detection
src/chrono/collision - Contact mechanics
src/chrono/physics
Physics extensions
- Deformable bodies
src/chrono/fea - Granular dynamics
src/chrono_multicore - Fluid-solid interaction
src/chrono_fsi - Vehicle simulation
src/chrono_vehicle - Shaft engine
src/chrono_vehicle/powertrain/ChEngineShafts.h
Sensors and output
- Sensor manager
src/chrono_sensor/ChSensorManager.h - OptiX renderer
src/chrono_sensor/optix/ChOptixEngine.cpp - Render pipeline
src/chrono_sensor/optix/ChOptixPipeline.cpp - Post-processing
src/chrono_postprocess
Integration and compute
- Model import
src/chrono_parsers - Co-simulation
src/chrono_synchrono/SynChronoManager.cpp - Parallel compute
src/chrono_multicore/ChDataManager.h - GPU compute
src/chrono_gpu - External solvers
src/chrono_mumps/ChMumpsEngine.h
Other components
- Engineer
Connections 18
- Engineer → System model: defines model
- System model → Dynamics solver: simulates
src/chrono/physics/ChSystem.h - System model → Collision detection: uses contacts
src/chrono/physics/ChSystem.h - Collision detection → Contact mechanics: produces contacts
src/chrono/collision/multicore/ChCollisionData.h - System model → Deformable bodies: extends to FEA
- System model → Granular dynamics: simulates grains
src/chrono_multicore/ChDataManager.h - System model → Fluid-solid interaction: couples fluid
- System model → Vehicle simulation: models vehicles
src/chrono_vehicle/powertrain/ChEngineShafts.cpp - Vehicle simulation → Shaft engine: uses engine
src/chrono_vehicle/powertrain/ChEngineShafts.cpp - System model → Sensor manager: visualizes runtime
src/chrono_sensor/ChSensorManager.h - Sensor manager → OptiX renderer: manages renderer
src/chrono_sensor/ChSensorManager.h - OptiX renderer → Render pipeline: uses pipeline
- System model → Post-processing: post-processes results
- Engineer → Model import: imports models
- System model → Co-simulation: co-simulates
- System model → Parallel compute: uses parallel compute
src/chrono_multicore/ChDataManager.h - System model → GPU compute: uses GPU compute
- Dynamics solver → External solvers: solves systems