Install the FSI module
This optional module enables the modeling and simulation of fluid-solid interaction problem.
Read the introduction to modules for a technical background on the modularity of the Chrono project.
Features
The FSI module allows users to:
- Use the module as a CFD solver for fluid mechanics problems via the following Lagrangian methods:
- Implicit incompressible SPH (ISPH)
- Explicit weakly compressible SPH (WCSPH)
- Use the module as a solver for granular material dynamics via the following Lagrangian method:
- Explicit weakly compressible SPH (WCSPH)
- Use the module for solving fluid-solid interaction problems that feature:
- Rigid bodies
- 1D and 2D flexible bodies simulated via ANCF cable and ANCF shell elements, respectively.
- Use the module for solving rigid multi-body dynamics and its interaction with deformable terrain
- Rover/vehicle mobility simulation on granular material terrain
- Use GPU-based sparse linear solvers such as BICGSTAB
- Use JSON input files for easy specification of simulation parameters
Requirements
- To run applications based on this module an NVIDIA GPU card is required.
- To build this module and applications based on it, a CUDA installation and appropriate compiler are required
- This module has been build/tested on the following:
- Windows, MS Visual Studio 2019, CUDA 12.3.0 (Pascal GPU architecture)
- Arch Linux, GCC 11.1, CUDA 11.5.0 (Pascal GPU architectures)
- Arch Linux, LLVM 13.0, CUDA 11.5.0 (Pascal GPU architectures)
- Ubuntu 20.04 Linux, GCC 9.3, CUDA 10.1.0 (Pascal GPU architectures)
- Ubuntu 22.04 Linux, GCC 11.3, CUDA 12.3.0 (Hopper GPU architecture)
- Fedora 33 Linux, GCC 9.4, CUDA 11.3.1 (Pascal, Volta, Turing, and Ampere GPU architectures)
Building instructions
- Repeat the instructions for the full installation.
- Set
CH_ENABLE_MODULE_FSI
to 'on'. - Optionally, set
CH_USE_FSI_DOUBLE
to 'on', otherwise a single precision FSI solver will be built. The single precision FSI solver has been tested to have similar level of accuracy as the double precision solver with close to a 2X performance improvement. - Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.
How to use it
- Look at the API section of this module for documentation about classes and functions.
- Look at the C++ source of demos to learn how to use the functions of this module.
MacOS support
This module cannot be built for MacOS, Nvidia GPU hardware and CUDA are unsupported.