Physics objects
Description
Physics objects for the Chrono::FSI module.
Including the fluid dynamics system, force system, interface with Chrono core module, simulation parameters, and data structures.
Collaboration diagram for Physics objects:

Classes | |
| class | chrono::fsi::ChSystemFsi |
| Physical system for fluid-solid interaction problems. More... | |
| class | chrono::fsi::ChBce |
| Base class for processing boundary condition enforcing (BCE) particle forces in an FSI system. More... | |
| class | chrono::fsi::ChFluidDynamics |
| Class to represent the fluid/granular dynamics system. More... | |
| class | chrono::fsi::ChFsiForce |
| Base class to calculate force between SPH particles. More... | |
| class | chrono::fsi::ChFsiForceExplicitSPH |
| Child class of ChFsiForce. More... | |
| class | chrono::fsi::ChFsiForceI2SPH |
| Derived class of ChFsiForce that implements the I2SPH method. More... | |
| class | chrono::fsi::ChFsiForceIISPH |
| Derived class of ChFsiForce that implements the IISPH method. More... | |
| struct | chrono::fsi::ChCounters |
| Number of rigid and flexible solid bodies, fluid SPH particles, solid SPH particles, boundary SPH particles. More... | |
| class | chrono::fsi::ChFsiGeneral |
| Class for FSI properties and functions. More... | |
| class | chrono::fsi::ChFsiInterface |
| Base class for processing the interface between Chrono and FSI modules. More... | |
| struct | chrono::fsi::SimParams |
| Structure with FSI simulation parameters. More... | |
| struct | chrono::fsi::SphMarkerDataD |
| Struct to store the information of SPH particles on the device. More... | |
| struct | chrono::fsi::SphMarkerDataH |
| Struct to store the information of SPH particles on the host. More... | |
| struct | chrono::fsi::FsiBodiesDataH |
| Struct to store the information of rigid bodies on the host. More... | |
| struct | chrono::fsi::FsiBodiesDataD |
| Struct to store the information of rigid bodies on the device. More... | |
| struct | chrono::fsi::FsiMeshDataH |
| Struct to store the information of mesh on the host. More... | |
| struct | chrono::fsi::FsiMeshDataD |
| Struct to store the information of mesh on the device. More... | |
| struct | chrono::fsi::FsiShellsDataH |
| Struct to store the information of shell elements on the host. More... | |
| struct | chrono::fsi::FsiShellsDataD |
| Struct to store the information of shell elements on the device. More... | |
| struct | chrono::fsi::ProximityDataD |
| Struct to store neighbor search information on the device. More... | |
| struct | chrono::fsi::ChronoBodiesDataH |
| Struct to store Chrono rigid bodies information on the host. More... | |
| struct | chrono::fsi::ChronoMeshDataH |
| Struct to store Chrono mesh information on the host. More... | |
| struct | chrono::fsi::FsiGeneralData |
| Struct to store fluid/granular system information that need to be passed to Chrono. More... | |
| class | chrono::fsi::ChSystemFsi_impl |
| Data related function implementations for FSI system. More... | |
| class | chrono::fsi::GpuTimer |
| Time recorder for cuda events. More... | |
| class | chrono::fsi::ChUtilsDevice |
| Utilities for thrust device vectors. More... | |
Macros | |
| #define | mF2 make_float2 |
| #define | mF3 make_float3 |
| #define | mF4 make_float4 |
| #define | mR2 make_Real2 |
| #define | mR3 make_Real3 |
| #define | mR4 make_Real4 |
| #define | mI2 make_int2 |
| #define | mI3 make_int3 |
| #define | mI4 make_int4 |
| #define | mU3 make_uint3 |
| #define | F1CAST(x) |
| #define | D1CAST(x) |
| #define | BCAST(x) |
| #define | I1CAST(x) |
| #define | mI2CAST(x) |
| #define | mI4CAST(x) |
| #define | U1CAST(x) |
| #define | U2CAST(x) |
| #define | U4CAST(x) |
| #define | LU1CAST(x) |
| #define | R1CAST(x) |
| #define | mR2CAST(x) |
| #define | mR3CAST(x) |
| #define | mR4CAST(x) |
| #define | TCAST(x) |
| #define | mR3BY3CAST(x) |
| #define | CUDA_KERNEL_DIM(...) |
| #define | INVPI 0.3183098861837906715377675267450287240689192914809128f |
| #define | EPSILON 1e-8 |
| #define | RESOLUTION_LENGTH_MULT 2.0 |
| #define | cudaCheckError() |
Typedefs | |
| typedef thrust::device_vector< Real3 >::iterator | chrono::fsi::r3IterD |
| typedef device iterators for shorthand SPH operation of thrust vectors of Real3 | |
| typedef thrust::device_vector< Real4 >::iterator | chrono::fsi::r4IterD |
| typedef device iterators for shorthand SPH operation of thrust vectors of Real4 | |
| typedef thrust::tuple< r4IterD, r3IterD, r4IterD, r3IterD, r3IterD > | chrono::fsi::iterTupleSphD |
| typedef device tuple for holding SPH data pos,vel,[rho,pressure,mu,type] | |
| typedef thrust::zip_iterator< iterTupleSphD > | chrono::fsi::zipIterSphD |
| typedef thrust::host_vector< Real3 >::iterator | chrono::fsi::r3IterH |
| typedef host iterators for shorthand SPH operation of thrust vectors of Real3 | |
| typedef thrust::host_vector< Real4 >::iterator | chrono::fsi::r4IterH |
| typedef host iterators for shorthand SPH operation of thrust vectors of Real4 | |
| typedef thrust::tuple< r4IterH, r3IterH, r4IterH, r3IterH, r3IterH > | chrono::fsi::iterTupleH |
| typedef host tuple for holding SPH data pos,vel,[rho,pressure,mu,type] | |
| typedef thrust::zip_iterator< iterTupleH > | chrono::fsi::zipIterSphH |
| typedef thrust::tuple< r3IterD, r4IterD, r3IterD, r4IterD, r3IterD, r3IterD > | chrono::fsi::iterTupleRigidD |
| typedef device iterators for shorthand rigid body states: pos,orientation in position, velocity and acceleration level | |
| typedef thrust::zip_iterator< iterTupleRigidD > | chrono::fsi::zipIterRigidD |
| typedef thrust::tuple< r3IterH, r4IterH, r3IterH, r4IterH, r3IterH, r3IterH > | chrono::fsi::iterTupleRigidH |
| typedef host iterators for shorthand rigid body states: pos,orientation in position, velocity and acceleration level | |
| typedef thrust::zip_iterator< iterTupleRigidH > | chrono::fsi::zipIterRigidH |
| typedef thrust::tuple< r3IterH, r3IterH, r3IterH, r4IterH, r3IterH, r3IterH > | chrono::fsi::iterTupleChronoBodiesH |
| typedef device iterators for shorthand chrono bodies operations | |
| typedef thrust::zip_iterator< iterTupleChronoBodiesH > | chrono::fsi::zipIterChronoBodiesH |
| typedef unsigned int | chrono::fsi::uint |
Enumerations | |
| enum class | chrono::fsi::BceVersion { ADAMI = 0 , ORIGINAL = 1 } |
| Approach to handle BCE particles. | |
| enum class | chrono::fsi::PPESolutionType { MATRIX_FREE , FORM_SPARSE_MATRIX } |
| PPE solution type. | |
| enum class | chrono::fsi::Rheology { INERTIA_RHEOLOGY , NONLOCAL_FLUIDITY } |
| Rheology type. | |
| enum class | chrono::fsi::FrictionLaw { CONSTANT , LINEAR , NONLINEAR } |
| Friction law in ISPH. | |
| enum class | chrono::fsi::FluidDynamics { IISPH , I2SPH , WCSPH } |
| Dynamics solver type for fluid/granular. | |
| enum class | chrono::fsi::TimeIntegrator { EXPLICITSPH , IISPH , I2SPH } |
| Time integration method. | |
| enum class | chrono::fsi::SolverType { JACOBI , BICGSTAB , GMRES , CR , CG , SAP } |
| Linear solver type. | |
Macro Definition Documentation
◆ BCAST
| #define BCAST | ( | x | ) |
Value:
(bool*)thrust::raw_pointer_cast(&x[0])
◆ CUDA_KERNEL_DIM
| #define CUDA_KERNEL_DIM | ( | ... | ) |
Value:
<< <__VA_ARGS__>>>
◆ cudaCheckError
| #define cudaCheckError | ( | ) |
Value:
{ \
cudaError_t e = cudaGetLastError(); \
if (e != cudaSuccess) { \
printf("Cuda failure %s:%d: '%s'\n", __FILE__, __LINE__, cudaGetErrorString(e)); \
exit(0); \
} \
}
◆ D1CAST
| #define D1CAST | ( | x | ) |
Value:
(double*)thrust::raw_pointer_cast(&x[0])
◆ F1CAST
| #define F1CAST | ( | x | ) |
Value:
(float*)thrust::raw_pointer_cast(&x[0])
◆ I1CAST
| #define I1CAST | ( | x | ) |
Value:
(int*)thrust::raw_pointer_cast(&x[0])
◆ LU1CAST
| #define LU1CAST | ( | x | ) |
Value:
(unsigned long int*)thrust::raw_pointer_cast(&x[0])
◆ mI2CAST
| #define mI2CAST | ( | x | ) |
Value:
(int2*)thrust::raw_pointer_cast(&x[0])
◆ mI4CAST
| #define mI4CAST | ( | x | ) |
Value:
(int4*)thrust::raw_pointer_cast(&x[0])
◆ mR2CAST
| #define mR2CAST | ( | x | ) |
Value:
(Real2*)thrust::raw_pointer_cast(&x[0])
◆ mR3BY3CAST
| #define mR3BY3CAST | ( | x | ) |
Value:
(Real3By3*)thrust::raw_pointer_cast(&x[0])
◆ mR3CAST
| #define mR3CAST | ( | x | ) |
Value:
(Real3*)thrust::raw_pointer_cast(&x[0])
◆ mR4CAST
| #define mR4CAST | ( | x | ) |
Value:
(Real4*)thrust::raw_pointer_cast(&x[0])
◆ R1CAST
| #define R1CAST | ( | x | ) |
Value:
(Real*)thrust::raw_pointer_cast(&x[0])
◆ TCAST
| #define TCAST | ( | x | ) |
Value:
thrust::raw_pointer_cast(x.data())
◆ U1CAST
| #define U1CAST | ( | x | ) |
◆ U2CAST
| #define U2CAST | ( | x | ) |
Value:
(uint2*)thrust::raw_pointer_cast(&x[0])
◆ U4CAST
| #define U4CAST | ( | x | ) |
Value:
(uint4*)thrust::raw_pointer_cast(&x[0])