Install the SYNCHRONO module

This is an optional module that enables the parallelization of Chrono::Vehicle simulation across different computing entities.

Read the introduction to modules for a technical background on the modularity of the Chrono project.

# Features

The SynChrono module allows users to parallelize the dynamics computations for Chrono::Vehicles across MPI entities.

# Required Dependencies

• To build applications based on this module, the following are required:
• MPI
• Linux: Tested with OpenMPI and MPICH.
• Windows: Tested with Intel MPI and MS-MPI. You must ensure that the MPI dll (either impi.dll or msmpi.dll) is on your system path, for example by running a post-installation script (Intel MPI example).
• FlatBuffers
• A version is included in chrono_thirdparty as a submodule, for general development either that version or an externally built one can be used.

# Building instructions

1. Initialize the FlatBuffers submodule in chrono_thirdparty with git submodule init and git submodule update.
• For running programs with SynChrono you just need the FlatBuffers header from initializing the submodule.
• If you make modifications to the FlatBuffers message schemas you will need either an external version of the FlatBuffers binaries (for example from a package manager) or to build the submodule version included in chrono_thirdparty.
2. Repeat the instructions for the full installation. Chrono::Vehicle is required and at least one of Chrono::Irrlicht or Chrono::Sensor is recommended for visualization. When you see the CMake window, you must make these additional changes:
3. Set the ENABLE_MODULE_SYNCHRONO as 'on', then press 'Configure' (to refresh the variable list).
4. Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.