Description
SPH-based fluid solver and FSI interface This sub-module provides a Smoothed Particle Hydrodynamics fluid solver with support for:
- incompressible Navier-Stokes, and
- continuous representation model for terramechanics.

Modules | |
| Physics objects | |
| Math support | |
| Utilities | |
| Visualization | |
Namespaces | |
| namespace | chrono::fsi::sph::PeriodicSide |
| Enumeration for specifying whether the sides of a computational domain are periodic or not. | |
| namespace | chrono::fsi::sph::BoxSide |
| Enumeration for box sides. | |
| namespace | chrono::fsi::sph::CylSide |
| Enumeration for cylinder sides. | |
Classes | |
| struct | chrono::fsi::sph::Real2 |
| Pair of reals. More... | |
| struct | chrono::fsi::sph::Real3 |
| Triplet of reals. More... | |
| struct | chrono::fsi::sph::Real4 |
| Quadruplet of reals. More... | |
| struct | chrono::fsi::sph::RealAABB |
| Axis-aligned bounding box (real coordinates). More... | |
| struct | chrono::fsi::sph::IntAABB |
| Axis-aligned bounding box (integer grid coordinates). More... | |
| struct | chrono::fsi::sph::BoundaryConditions |
| Boundary condition types in all three directions of the computational domain. More... | |
| class | chrono::fsi::sph::ChFsiFluidSystemSPH |
| Physical system for an FSI-aware SPH fluid solver. More... | |
| class | chrono::fsi::sph::ChFsiInterfaceSPH |
| Custom FSI interface between a Chrono multibody system and the SPH-based fluid system. More... | |
| struct | chrono::fsi::sph::ChFsiParamsSPH |
| Structure with FSI simulation parameters. More... | |
| class | chrono::fsi::sph::ChFsiProblemSPH |
| Base class to set up a Chrono::FSI problem. More... | |
| class | chrono::fsi::sph::ChFsiProblemCartesian |
| Class to set up a Chrono::FSI problem using particles and markers on a Cartesian coordinates grid. More... | |
| class | chrono::fsi::sph::ChFsiProblemWavetank |
| Class to construct a wavetank with a rigid piston or flap wavemaker mechanism. More... | |
| class | chrono::fsi::sph::ChFsiProblemCylindrical |
| Class to set up a Chrono::FSI problem using particles and markers on a cylindrical coordinates grid. More... | |
| class | chrono::fsi::sph::DepthPressurePropertiesCallback |
| Predefined SPH particle initial properties callback (depth-based pressure). More... | |
| class | chrono::fsi::sph::WaveTankRampBeach |
| Predefined wave tank profile with a ramp beach. More... | |
| class | chrono::fsi::sph::WaveTankParabolicBeach |
| Predefined wave tank profile with a parabolic beach. More... | |
| class | chrono::fsi::sph::ChFsiSystemSPH |
| FSI system using an SPH-based fluid solver. More... | |
Enumerations | |
| enum class | chrono::fsi::sph::PhysicsProblem { chrono::fsi::sph::PhysicsProblem::CFD , chrono::fsi::sph::PhysicsProblem::CRM } |
| Physics problem type. More... | |
| enum class | chrono::fsi::sph::IntegrationScheme { chrono::fsi::sph::IntegrationScheme::EULER , chrono::fsi::sph::IntegrationScheme::RK2 , chrono::fsi::sph::IntegrationScheme::VERLET , chrono::fsi::sph::IntegrationScheme::SYMPLECTIC , chrono::fsi::sph::IntegrationScheme::IMPLICIT_SPH } |
| Integration scheme. More... | |
| enum class | chrono::fsi::sph::ShiftingMethod { NONE , PPST , XSPH , PPST_XSPH , DIFFUSION , DIFFUSION_XSPH } |
| Shifting Methods. | |
| enum class | chrono::fsi::sph::EosType { TAIT , ISOTHERMAL } |
| Equation of State type. More... | |
| enum class | chrono::fsi::sph::KernelType { QUADRATIC , CUBIC_SPLINE , QUINTIC_SPLINE , WENDLAND } |
| SPH kernel type. | |
| enum class | chrono::fsi::sph::ViscosityMethod { LAMINAR , ARTIFICIAL_UNILATERAL , ARTIFICIAL_BILATERAL } |
| Visosity method type. | |
| enum class | chrono::fsi::sph::BoundaryMethod { ADAMI , HOLMES } |
| Boundary method type. | |
| enum class | chrono::fsi::sph::Rheology { INERTIA_RHEOLOGY , NONLOCAL_FLUIDITY } |
| Rheology type. | |
| enum class | chrono::fsi::sph::FrictionLaw { CONSTANT , LINEAR , NONLINEAR } |
| Friction law in ISPH. | |
| enum class | chrono::fsi::sph::SolverType { JACOBI , BICGSTAB , GMRES , CR , CG , SAP } |
| Linear solver type. | |
| enum class | chrono::fsi::sph::RheologyCRM { MU_OF_I , MCC } |
| Rheology for CRM Mu_of_I: Rate dependent friction law MCC: Modified Cam Clay with hardening. | |
| enum class | chrono::fsi::sph::BCType { chrono::fsi::sph::BCType::NONE , chrono::fsi::sph::BCType::PERIODIC , chrono::fsi::sph::BCType::INLET_OUTLET } |
| Boundary conditions along directions of the computational domain. More... | |
| enum class | chrono::fsi::sph::NodeDirections { NONE , AVERAGE , EXACT } |
| Methods for FEA node direction information. | |
| enum class | chrono::fsi::sph::BcePatternMesh1D { FULL , STAR } |
| BCE pattern in cross section of 1-D flexible elements. More... | |
| enum class | chrono::fsi::sph::BcePatternMesh2D { CENTERED , OUTWARD , INWARD } |
| BCE pattern along normal of 2-D surface of flexible elements. More... | |
| enum class | chrono::fsi::sph::OutputLevel { chrono::fsi::sph::OutputLevel::STATE , chrono::fsi::sph::OutputLevel::STATE_PRESSURE , chrono::fsi::sph::OutputLevel::CFD_FULL , chrono::fsi::sph::OutputLevel::CRM_FULL } |
| Output level. More... | |
Functions | |
| std::ostream & | chrono::fsi::sph::operator<< (std::ostream &out, const Real2 &v) |
| Insertion of a Real2 to output stream. | |
| std::ostream & | chrono::fsi::sph::operator<< (std::ostream &out, const Real3 &v) |
| Insertion of a Real3 to output stream. | |
| std::ostream & | chrono::fsi::sph::operator<< (std::ostream &out, const Real4 &v) |
| Insertion of a Real4 to output stream. | |
Variables | |
| constexpr BoundaryConditions | chrono::fsi::sph::BC_NONE = {BCType::NONE, BCType::NONE, BCType::NONE} |
| constexpr BoundaryConditions | chrono::fsi::sph::BC_X_PERIODIC = {BCType::PERIODIC, BCType::NONE, BCType::NONE} |
| constexpr BoundaryConditions | chrono::fsi::sph::BC_Y_PERIODIC = {BCType::NONE, BCType::PERIODIC, BCType::NONE} |
| constexpr BoundaryConditions | chrono::fsi::sph::BC_Z_PERIODIC = {BCType::NONE, BCType::NONE, BCType::PERIODIC} |
| constexpr BoundaryConditions | chrono::fsi::sph::BC_ALL_PERIODIC = {BCType::PERIODIC, BCType::PERIODIC, BCType::PERIODIC} |
Enumeration Type Documentation
◆ BcePatternMesh1D
|
strong |
BCE pattern in cross section of 1-D flexible elements.
The available patterns are illustrated below (assuming 3 BCE layers):
FULL:
X--X--X
X--X--X
X--X--X
STAR:
---X---
X--X--X
---X---
◆ BcePatternMesh2D
|
strong |
BCE pattern along normal of 2-D surface of flexible elements.
The choices are illustrated below (assuming 3 BCE layers):
OUTWARD: ^ n | ...--X--X--X--... | ...--X--X--X--... ---|---------X--X--X-------- surface CENTERED: ^ n | ...--X--X--X--... ---|---------X--X--X-------- surface | ...--X--X--X--... INWARD: ^ n ---|---------X--X--X-------- surface | ...--X--X--X--... | ...--X--X--X--...
◆ BCType
|
strong |
◆ EosType
|
strong |
Equation of State type.
See https://pysph.readthedocs.io/en/latest/reference/equations.html#basic-wcsph-equations. An equation of state is used only with an explicit WCSPH formulation.
◆ IntegrationScheme
|
strong |
Integration scheme.
All explicit integratioon schemes use a Weakly-Compressible SPH (WCSPH) formulation in which the density is integrated and an equation of state is used to calculate the corresponding pressure. For the implicit SPH scheme, the pressure is instead updated.
| Enumerator | |
|---|---|
| EULER | Explicit Euler. |
| RK2 | Runge-Kutta 2. |
| VERLET | Velocity Verlet. |
| SYMPLECTIC | Symplectic Euler. |
| IMPLICIT_SPH | Implicit SPH. |
◆ OutputLevel
|
strong |
◆ PhysicsProblem
|
strong |