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 |
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 | ) |
Value:
(uint*)thrust::raw_pointer_cast(&x[0])
◆ U2CAST
#define U2CAST | ( | x | ) |
Value:
(uint2*)thrust::raw_pointer_cast(&x[0])
◆ U4CAST
#define U4CAST | ( | x | ) |
Value:
(uint4*)thrust::raw_pointer_cast(&x[0])