chrono::fsi::sph Namespace Reference
Description
Namespace with internal classes for the SPH-based FSI submodule.
Classes | |
class | BceManager |
Manager for processing boundary condition enforcing (BCE) particle forces in an FSI system. More... | |
class | ChCollisionSystemFsi |
Base class for processing proximity computation in an FSI system. More... | |
class | ChFluidDynamics |
Class to represent the fluid/granular dynamics system. More... | |
class | ChFsiForce |
Base class to calculate force between SPH particles. More... | |
class | ChFsiForceExplicitSPH |
Inter-particle force calculation for explicit schemes. More... | |
class | ChFsiForceI2SPH |
Inter-particle force calculation for the I2SPH method. More... | |
class | ChFsiLinearSolver |
Base class for solving linear systems on GPUs. More... | |
class | ChFsiLinearSolverBiCGStab |
BiCG-Stab iterative linear solver. More... | |
class | ChFsiLinearSolverGMRES |
GMRES iterative linear solver. More... | |
struct | Counters |
Number of rigid and flexible solid bodies, fluid SPH particles, solid SPH particles, boundary SPH particles. More... | |
struct | CudaDeviceInfo |
Struct to store CUDA device information. More... | |
struct | FsiBodyStateD |
Rigid body states on device. More... | |
struct | FsiBodyStateH |
Rigid body states on host. More... | |
class | FsiDataManager |
Data manager for the SPH-based FSI system. More... | |
struct | FsiMeshStateD |
FEA mesh state on device. More... | |
struct | FsiMeshStateH |
FEA mesh states on host. More... | |
class | GpuTimer |
Time recorder for cuda events. More... | |
struct | ProximityDataD |
Struct to store neighbor search information on the device. More... | |
struct | SimParams |
Structure with FSI simulation parameters. More... | |
struct | SphMarkerDataD |
Struct to store the information of SPH particles on the device. More... | |
struct | SphMarkerDataH |
Struct to store the information of SPH particles on the host. More... | |
Typedefs | |
typedef float | Real |
Define the real type used in FSI (float or double). | |
typedef unsigned int | uint |
Define the unsigned int type used in FSI. | |
typedef unsigned short | ushort |
Define the unsigned short type used in FSI. | |
typedef thrust::device_vector< Real3 >::iterator | r3IterD |
typedef device iterators for shorthand SPH operation of thrust vectors of Real3 | |
typedef thrust::device_vector< Real4 >::iterator | r4IterD |
typedef device iterators for shorthand SPH operation of thrust vectors of Real4 | |
typedef thrust::tuple< r4IterD, r3IterD, r4IterD, r3IterD, r3IterD > | iterTupleSphD |
typedef device tuple for holding SPH data pos,vel,[rho,pressure,mu,type] | |
typedef thrust::zip_iterator< iterTupleSphD > | zipIterSphD |
typedef thrust::host_vector< Real3 >::iterator | r3IterH |
typedef host iterators for shorthand SPH operation of thrust vectors of Real3 | |
typedef thrust::host_vector< Real4 >::iterator | r4IterH |
typedef host iterators for shorthand SPH operation of thrust vectors of Real4 | |
typedef thrust::tuple< r4IterH, r3IterH, r4IterH, r3IterH, r3IterH > | iterTupleH |
typedef host tuple for holding SPH data pos,vel,[rho,pressure,mu,type] | |
typedef thrust::zip_iterator< iterTupleH > | zipIterSphH |
typedef thrust::tuple< r3IterD, r3IterD, r3IterD, r4IterD, r3IterD, r3IterD > | iterTupleRigidD |
typedef device iterators for shorthand rigid body states: pos,lin_vel,lin_acc,rot,ang_Vel,ang_acc | |
typedef thrust::zip_iterator< iterTupleRigidD > | zipIterRigidD |
typedef thrust::tuple< r3IterH, r3IterH, r3IterH, r4IterH, r3IterH, r3IterH > | iterTupleRigidH |
typedef host iterators for shorthand rigid body states: pos,lin_vel,lin_acc,rot,ang_Vel,ang_acc | |
typedef thrust::zip_iterator< iterTupleRigidH > | zipIterRigidH |
typedef thrust::tuple< r3IterH, r3IterH, r3IterH, r4IterH, r3IterH, r3IterH > | iterTupleChronoBodiesH |
typedef device iterators for shorthand chrono bodies operations | |
typedef thrust::zip_iterator< iterTupleChronoBodiesH > | zipIterChronoBodiesH |
Enumerations | |
enum | MarkerGroup { FLUID, SOLID, BOUNDARY, NON_FLUID, NON_SOLID, NON_BOUNDARY, ALL } |
Marker (SPH and BCE) groups. | |
enum | MarkerType { SPH_PARTICLE, SPH_HELPER, SPH_GHOST, BCE_WALL, BCE_RIGID, BCE_FLEX1D, BCE_FLEX2D } |
Marker (SPH and BCE) type. | |
Functions | |
void | printMatrix (const Real *A, int Ny, int Nx) |
void | GeneratePlaneRotation (const Real &dx, const Real &dy, Real &cs, Real &sn) |
void | ApplyPlaneRotation (Real &dx, Real &dy, const Real &cs, const Real &sn) |
void | PlaneRotation (Real *H, Real *cs, Real *sn, Real *s, const int i, const int restart) |
__host__ __device__ float | fminf (float a, float b) |
Return the minimum of two single precision numbers. | |
__host__ __device__ float | fmaxf (float a, float b) |
Return the maximum of two single precision numbers. | |
__host__ __device__ int | max (int a, int b) |
Return the maximum of two integer numbers. | |
__host__ __device__ int | min (int a, int b) |
Return the minimum of two integer numbers. | |
__host__ __device__ float | rsqrtf (float x) |
Return the reciprocal square root of a single precision number. | |
__host__ __device__ Real | square (Real a) |
Square a float value. | |
__host__ __device__ Real | cube (Real a) |
Cube a float value. | |
__host__ __device__ Real | quartic (Real a) |
Quartic a float value. | |
__host__ __device__ Real | quintic (Real a) |
Quintic a float value. | |
__VECTOR_FUNCTIONS_DECL__ uint2 | make_uint2 (unsigned int x, unsigned int y) |
Make a vector with two unsigned integer elements. | |
__VECTOR_FUNCTIONS_DECL__ uint3 | make_uint3 (unsigned int x, unsigned int y, unsigned int z) |
Make a vector with three unsigned integer elements. | |
__VECTOR_FUNCTIONS_DECL__ uint4 | make_uint4 (unsigned int x, unsigned int y, unsigned int z, unsigned int w) |
Make a vector with four unsigned integer elements. | |
__VECTOR_FUNCTIONS_DECL__ int2 | make_int2 (int x, int y) |
Make a vector with two integer elements. | |
__VECTOR_FUNCTIONS_DECL__ int3 | make_int3 (int x, int y, int z) |
Make a vector with three integer elements. | |
__VECTOR_FUNCTIONS_DECL__ int4 | make_int4 (int x, int y, int z, int w) |
Make a vector with four integer elements. | |
__VECTOR_FUNCTIONS_DECL__ float2 | make_float2 (float x, float y) |
Make a vector with two float elements. | |
__VECTOR_FUNCTIONS_DECL__ float3 | make_float3 (float x, float y, float z) |
Make a vector with three float elements. | |
__VECTOR_FUNCTIONS_DECL__ float4 | make_float4 (float x, float y, float z, float w) |
Make a vector with four float elements. | |
__VECTOR_FUNCTIONS_DECL__ double2 | make_double2 (double x, double y) |
Make a vector with two double elements. | |
__VECTOR_FUNCTIONS_DECL__ double3 | make_double3 (double x, double y, double z) |
Make a vector with three double elements. | |
__VECTOR_FUNCTIONS_DECL__ double4 | make_double4 (double x, double y, double z, double w) |
Make a vector with four double elements. | |
__host__ __device__ float2 | make_float2 (float s) |
__host__ __device__ float2 | make_float2 (float3 a) |
__host__ __device__ float2 | make_float2 (int2 a) |
__host__ __device__ float2 | make_float2 (uint2 a) |
__host__ __device__ int2 | make_int2 (int s) |
__host__ __device__ int2 | make_int2 (int3 a) |
__host__ __device__ int2 | make_int2 (int4 a) |
__host__ __device__ int2 | make_int2 (uint2 a) |
__host__ __device__ int2 | make_int2 (float2 a) |
__host__ __device__ uint2 | make_uint2 (uint s) |
__host__ __device__ uint2 | make_uint2 (uint3 a) |
__host__ __device__ uint2 | make_uint2 (int2 a) |
__host__ __device__ float3 | make_float3 (float s) |
__host__ __device__ float3 | make_float3 (float2 a) |
__host__ __device__ float3 | make_float3 (float2 a, float s) |
__host__ __device__ float3 | make_float3 (float4 a) |
__host__ __device__ float3 | make_float3 (int3 a) |
__host__ __device__ float3 | make_float3 (uint3 a) |
__host__ __device__ int3 | make_int3 (int s) |
__host__ __device__ int3 | make_int3 (int2 a) |
__host__ __device__ int3 | make_int3 (int2 a, int s) |
__host__ __device__ int3 | make_int3 (uint3 a) |
__host__ __device__ int3 | make_int3 (float3 a) |
__host__ __device__ uint3 | make_uint3 (uint s) |
__host__ __device__ uint3 | make_uint3 (uint2 a) |
__host__ __device__ uint3 | make_uint3 (uint2 a, uint s) |
__host__ __device__ uint3 | make_uint3 (uint4 a) |
__host__ __device__ uint3 | make_uint3 (int3 a) |
__host__ __device__ float4 | make_float4 (float s) |
__host__ __device__ float4 | make_float4 (float3 a) |
__host__ __device__ float4 | make_float4 (float3 a, float w) |
__host__ __device__ float4 | make_float4 (int4 a) |
__host__ __device__ float4 | make_float4 (uint4 a) |
__host__ __device__ int4 | make_int4 (int s) |
__host__ __device__ int4 | make_int4 (int3 a) |
__host__ __device__ int4 | make_int4 (int3 a, int w) |
__host__ __device__ int4 | make_int4 (uint4 a) |
__host__ __device__ int4 | make_int4 (float4 a) |
__host__ __device__ uint4 | make_uint4 (uint s) |
__host__ __device__ uint4 | make_uint4 (uint3 a) |
__host__ __device__ uint4 | make_uint4 (uint3 a, uint w) |
__host__ __device__ uint4 | make_uint4 (int4 a) |
__host__ __device__ float2 | operator- (float2 &a) |
__host__ __device__ int2 | operator- (int2 &a) |
__host__ __device__ float3 | operator- (float3 &a) |
__host__ __device__ int3 | operator- (int3 &a) |
__host__ __device__ float4 | operator- (float4 &a) |
__host__ __device__ int4 | operator- (int4 &a) |
__host__ __device__ float2 | operator+ (float2 a, float2 b) |
__host__ __device__ void | operator+= (float2 &a, float2 b) |
__host__ __device__ float2 | operator+ (float2 a, float b) |
__host__ __device__ float2 | operator+ (float b, float2 a) |
__host__ __device__ void | operator+= (float2 &a, float b) |
__host__ __device__ int2 | operator+ (int2 a, int2 b) |
__host__ __device__ void | operator+= (int2 &a, int2 b) |
__host__ __device__ int2 | operator+ (int2 a, int b) |
__host__ __device__ int2 | operator+ (int b, int2 a) |
__host__ __device__ void | operator+= (int2 &a, int b) |
__host__ __device__ uint2 | operator+ (uint2 a, uint2 b) |
__host__ __device__ void | operator+= (uint2 &a, uint2 b) |
__host__ __device__ uint2 | operator+ (uint2 a, uint b) |
__host__ __device__ uint2 | operator+ (uint b, uint2 a) |
__host__ __device__ void | operator+= (uint2 &a, uint b) |
__host__ __device__ float3 | operator+ (float3 a, float3 b) |
__host__ __device__ void | operator+= (float3 &a, float3 b) |
__host__ __device__ float3 | operator+ (float3 a, float b) |
__host__ __device__ void | operator+= (float3 &a, float b) |
__host__ __device__ int3 | operator+ (int3 a, int3 b) |
__host__ __device__ void | operator+= (int3 &a, int3 b) |
__host__ __device__ int3 | operator+ (int3 a, int b) |
__host__ __device__ void | operator+= (int3 &a, int b) |
__host__ __device__ uint3 | operator+ (uint3 a, uint3 b) |
__host__ __device__ void | operator+= (uint3 &a, uint3 b) |
__host__ __device__ uint3 | operator+ (uint3 a, uint b) |
__host__ __device__ void | operator+= (uint3 &a, uint b) |
__host__ __device__ int3 | operator+ (int b, int3 a) |
__host__ __device__ uint3 | operator+ (uint b, uint3 a) |
__host__ __device__ float3 | operator+ (float b, float3 a) |
__host__ __device__ float4 | operator+ (float4 a, float4 b) |
__host__ __device__ void | operator+= (float4 &a, float4 b) |
__host__ __device__ float4 | operator+ (float4 a, float b) |
__host__ __device__ float4 | operator+ (float b, float4 a) |
__host__ __device__ void | operator+= (float4 &a, float b) |
__host__ __device__ int4 | operator+ (int4 a, int4 b) |
__host__ __device__ void | operator+= (int4 &a, int4 b) |
__host__ __device__ int4 | operator+ (int4 a, int b) |
__host__ __device__ int4 | operator+ (int b, int4 a) |
__host__ __device__ void | operator+= (int4 &a, int b) |
__host__ __device__ uint4 | operator+ (uint4 a, uint4 b) |
__host__ __device__ void | operator+= (uint4 &a, uint4 b) |
__host__ __device__ uint4 | operator+ (uint4 a, uint b) |
__host__ __device__ uint4 | operator+ (uint b, uint4 a) |
__host__ __device__ void | operator+= (uint4 &a, uint b) |
__host__ __device__ float2 | operator- (float2 a, float2 b) |
__host__ __device__ void | operator-= (float2 &a, float2 b) |
__host__ __device__ float2 | operator- (float2 a, float b) |
__host__ __device__ float2 | operator- (float b, float2 a) |
__host__ __device__ void | operator-= (float2 &a, float b) |
__host__ __device__ int2 | operator- (int2 a, int2 b) |
__host__ __device__ void | operator-= (int2 &a, int2 b) |
__host__ __device__ int2 | operator- (int2 a, int b) |
__host__ __device__ int2 | operator- (int b, int2 a) |
__host__ __device__ void | operator-= (int2 &a, int b) |
__host__ __device__ uint2 | operator- (uint2 a, uint2 b) |
__host__ __device__ void | operator-= (uint2 &a, uint2 b) |
__host__ __device__ uint2 | operator- (uint2 a, uint b) |
__host__ __device__ uint2 | operator- (uint b, uint2 a) |
__host__ __device__ void | operator-= (uint2 &a, uint b) |
__host__ __device__ float3 | operator- (float3 a, float3 b) |
__host__ __device__ void | operator-= (float3 &a, float3 b) |
__host__ __device__ float3 | operator- (float3 a, float b) |
__host__ __device__ float3 | operator- (float b, float3 a) |
__host__ __device__ void | operator-= (float3 &a, float b) |
__host__ __device__ int3 | operator- (int3 a, int3 b) |
__host__ __device__ void | operator-= (int3 &a, int3 b) |
__host__ __device__ int3 | operator- (int3 a, int b) |
__host__ __device__ int3 | operator- (int b, int3 a) |
__host__ __device__ void | operator-= (int3 &a, int b) |
__host__ __device__ uint3 | operator- (uint3 a, uint3 b) |
__host__ __device__ void | operator-= (uint3 &a, uint3 b) |
__host__ __device__ uint3 | operator- (uint3 a, uint b) |
__host__ __device__ uint3 | operator- (uint b, uint3 a) |
__host__ __device__ void | operator-= (uint3 &a, uint b) |
__host__ __device__ float4 | operator- (float4 a, float4 b) |
__host__ __device__ void | operator-= (float4 &a, float4 b) |
__host__ __device__ float4 | operator- (float4 a, float b) |
__host__ __device__ void | operator-= (float4 &a, float b) |
__host__ __device__ int4 | operator- (int4 a, int4 b) |
__host__ __device__ void | operator-= (int4 &a, int4 b) |
__host__ __device__ int4 | operator- (int4 a, int b) |
__host__ __device__ int4 | operator- (int b, int4 a) |
__host__ __device__ void | operator-= (int4 &a, int b) |
__host__ __device__ uint4 | operator- (uint4 a, uint4 b) |
__host__ __device__ void | operator-= (uint4 &a, uint4 b) |
__host__ __device__ uint4 | operator- (uint4 a, uint b) |
__host__ __device__ uint4 | operator- (uint b, uint4 a) |
__host__ __device__ void | operator-= (uint4 &a, uint b) |
__host__ __device__ float2 | operator* (float2 a, float2 b) |
__host__ __device__ void | operator*= (float2 &a, float2 b) |
__host__ __device__ float2 | operator* (float2 a, float b) |
__host__ __device__ float2 | operator* (float b, float2 a) |
__host__ __device__ void | operator*= (float2 &a, float b) |
__host__ __device__ int2 | operator* (int2 a, int2 b) |
__host__ __device__ void | operator*= (int2 &a, int2 b) |
__host__ __device__ int2 | operator* (int2 a, int b) |
__host__ __device__ int2 | operator* (int b, int2 a) |
__host__ __device__ void | operator*= (int2 &a, int b) |
__host__ __device__ uint2 | operator* (uint2 a, uint2 b) |
__host__ __device__ void | operator*= (uint2 &a, uint2 b) |
__host__ __device__ uint2 | operator* (uint2 a, uint b) |
__host__ __device__ uint2 | operator* (uint b, uint2 a) |
__host__ __device__ void | operator*= (uint2 &a, uint b) |
__host__ __device__ float3 | operator* (float3 a, float3 b) |
__host__ __device__ void | operator*= (float3 &a, float3 b) |
__host__ __device__ float3 | operator* (float3 a, float b) |
__host__ __device__ float3 | operator* (float b, float3 a) |
__host__ __device__ void | operator*= (float3 &a, float b) |
__host__ __device__ int3 | operator* (int3 a, int3 b) |
__host__ __device__ void | operator*= (int3 &a, int3 b) |
__host__ __device__ int3 | operator* (int3 a, int b) |
__host__ __device__ int3 | operator* (int b, int3 a) |
__host__ __device__ void | operator*= (int3 &a, int b) |
__host__ __device__ uint3 | operator* (uint3 a, uint3 b) |
__host__ __device__ void | operator*= (uint3 &a, uint3 b) |
__host__ __device__ uint3 | operator* (uint3 a, uint b) |
__host__ __device__ uint3 | operator* (uint b, uint3 a) |
__host__ __device__ void | operator*= (uint3 &a, uint b) |
__host__ __device__ float4 | operator* (float4 a, float4 b) |
__host__ __device__ void | operator*= (float4 &a, float4 b) |
__host__ __device__ float4 | operator* (float4 a, float b) |
__host__ __device__ float4 | operator* (float b, float4 a) |
__host__ __device__ void | operator*= (float4 &a, float b) |
__host__ __device__ int4 | operator* (int4 a, int4 b) |
__host__ __device__ void | operator*= (int4 &a, int4 b) |
__host__ __device__ int4 | operator* (int4 a, int b) |
__host__ __device__ int4 | operator* (int b, int4 a) |
__host__ __device__ void | operator*= (int4 &a, int b) |
__host__ __device__ uint4 | operator* (uint4 a, uint4 b) |
__host__ __device__ void | operator*= (uint4 &a, uint4 b) |
__host__ __device__ uint4 | operator* (uint4 a, uint b) |
__host__ __device__ uint4 | operator* (uint b, uint4 a) |
__host__ __device__ void | operator*= (uint4 &a, uint b) |
__host__ __device__ float2 | operator/ (float2 a, float2 b) |
__host__ __device__ void | operator/= (float2 &a, float2 b) |
__host__ __device__ float2 | operator/ (float2 a, float b) |
__host__ __device__ void | operator/= (float2 &a, float b) |
__host__ __device__ float2 | operator/ (float b, float2 a) |
__host__ __device__ float3 | operator/ (float3 a, float3 b) |
__host__ __device__ void | operator/= (float3 &a, float3 b) |
__host__ __device__ float3 | operator/ (float3 a, float b) |
__host__ __device__ void | operator/= (float3 &a, float b) |
__host__ __device__ float3 | operator/ (float b, float3 a) |
__host__ __device__ float4 | operator/ (float4 a, float4 b) |
__host__ __device__ void | operator/= (float4 &a, float4 b) |
__host__ __device__ float4 | operator/ (float4 a, float b) |
__host__ __device__ void | operator/= (float4 &a, float b) |
__host__ __device__ float4 | operator/ (float b, float4 a) |
__host__ __device__ float2 | fminf (float2 a, float2 b) |
__host__ __device__ float3 | fminf (float3 a, float3 b) |
__host__ __device__ float4 | fminf (float4 a, float4 b) |
__host__ __device__ int2 | min (int2 a, int2 b) |
__host__ __device__ int3 | min (int3 a, int3 b) |
__host__ __device__ int4 | min (int4 a, int4 b) |
__host__ __device__ uint2 | min (uint2 a, uint2 b) |
__host__ __device__ uint3 | min (uint3 a, uint3 b) |
__host__ __device__ uint4 | min (uint4 a, uint4 b) |
__host__ __device__ float2 | fmaxf (float2 a, float2 b) |
__host__ __device__ float3 | fmaxf (float3 a, float3 b) |
__host__ __device__ float4 | fmaxf (float4 a, float4 b) |
__host__ __device__ int2 | max (int2 a, int2 b) |
__host__ __device__ int3 | max (int3 a, int3 b) |
__host__ __device__ int4 | max (int4 a, int4 b) |
__host__ __device__ uint2 | max (uint2 a, uint2 b) |
__host__ __device__ uint3 | max (uint3 a, uint3 b) |
__host__ __device__ uint4 | max (uint4 a, uint4 b) |
__device__ __host__ float | lerp (float a, float b, float t) |
__device__ __host__ float2 | lerp (float2 a, float2 b, float t) |
__device__ __host__ float3 | lerp (float3 a, float3 b, float t) |
__device__ __host__ float4 | lerp (float4 a, float4 b, float t) |
__host__ __device__ float | dot (float2 a, float2 b) |
__host__ __device__ float | dot (float3 a, float3 b) |
__host__ __device__ float | dot (float4 a, float4 b) |
__host__ __device__ int | dot (int2 a, int2 b) |
__host__ __device__ int | dot (int3 a, int3 b) |
__host__ __device__ int | dot (int4 a, int4 b) |
__host__ __device__ uint | dot (uint2 a, uint2 b) |
__host__ __device__ uint | dot (uint3 a, uint3 b) |
__host__ __device__ uint | dot (uint4 a, uint4 b) |
__host__ __device__ float | length (float2 v) |
__host__ __device__ float | length (float3 v) |
__host__ __device__ float | length (float4 v) |
__host__ __device__ float2 | normalize (float2 v) |
__host__ __device__ float3 | normalize (float3 v) |
__host__ __device__ float4 | normalize (float4 v) |
__host__ __device__ float3 | cross (float3 a, float3 b) |
__host__ __device__ Real | rminr (Real a, Real b) |
__host__ __device__ Real | rmaxr (Real a, Real b) |
__host__ __device__ Real | rsqrtr (Real x) |
__host__ __device__ Real2 | make_Real2 (Real b, Real c) |
__host__ __device__ Real2 | make_Real2 (Real s) |
__host__ __device__ Real2 | make_Real2 (Real3 a) |
__host__ __device__ Real2 | make_Real2 (int2 a) |
__host__ __device__ Real2 | make_Real2 (uint2 a) |
__host__ __device__ int2 | make_int2 (Real2 a) |
__host__ __device__ Real3 | make_Real3 (Real a, Real b, Real c) |
__host__ __device__ Real3 | make_Real3 (Real s) |
__host__ __device__ Real3 | make_Real3 (Real2 a) |
__host__ __device__ Real3 | make_Real3 (Real2 a, Real s) |
__host__ __device__ Real3 | make_Real3 (Real4 a) |
__host__ __device__ Real3 | make_Real3 (int3 a) |
__host__ __device__ Real3 | make_Real3 (uint3 a) |
__host__ __device__ int3 | make_int3 (Real3 a) |
__host__ __device__ Real3 | make_Real3 (Real3 a) |
__host__ __device__ Real4 | make_Real4 (Real a, Real b, Real c, Real d) |
__host__ __device__ Real4 | make_Real4 (Real s) |
__host__ __device__ Real4 | make_Real4 (Real3 a) |
__host__ __device__ Real4 | make_Real4 (Real3 a, Real w) |
__host__ __device__ Real4 | make_Real4 (Real4 a) |
__host__ __device__ Real4 | make_Real4 (int4 a) |
__host__ __device__ Real4 | make_Real4 (uint4 a) |
__host__ __device__ int4 | make_int4 (Real4 a) |
__host__ __device__ Real2 | operator- (Real2 &a) |
__host__ __device__ Real3 | operator- (Real3 &a) |
__host__ __device__ Real4 | operator- (Real4 &a) |
__host__ __device__ Real2 | operator+ (Real2 a, Real2 b) |
__host__ __device__ void | operator+= (Real2 &a, Real2 b) |
__host__ __device__ Real2 | operator+ (Real2 a, Real b) |
__host__ __device__ Real2 | operator+ (Real b, Real2 a) |
__host__ __device__ void | operator+= (Real2 &a, Real b) |
__host__ __device__ Real3 | operator+ (Real3 a, Real3 b) |
__host__ __device__ void | operator+= (Real3 &a, Real3 b) |
__host__ __device__ Real3 | operator+ (Real3 a, Real b) |
__host__ __device__ void | operator+= (Real3 &a, Real b) |
__host__ __device__ Real3 | operator+ (Real b, Real3 a) |
__host__ __device__ Real4 | operator+ (Real4 a, Real4 b) |
__host__ __device__ void | operator+= (Real4 &a, Real4 b) |
__host__ __device__ Real4 | operator+ (Real4 a, Real b) |
__host__ __device__ Real4 | operator+ (Real b, Real4 a) |
__host__ __device__ void | operator+= (Real4 &a, Real b) |
__host__ __device__ Real2 | operator- (Real2 a, Real2 b) |
__host__ __device__ void | operator-= (Real2 &a, Real2 b) |
__host__ __device__ Real2 | operator- (Real2 a, Real b) |
__host__ __device__ Real2 | operator- (Real b, Real2 a) |
__host__ __device__ void | operator-= (Real2 &a, Real b) |
__host__ __device__ Real3 | operator- (Real3 a, Real3 b) |
__host__ __device__ void | operator-= (Real3 &a, Real3 b) |
__host__ __device__ Real3 | operator- (Real3 a, Real b) |
__host__ __device__ Real3 | operator- (Real b, Real3 a) |
__host__ __device__ void | operator-= (Real3 &a, Real b) |
__host__ __device__ Real4 | operator- (Real4 a, Real4 b) |
__host__ __device__ void | operator-= (Real4 &a, Real4 b) |
__host__ __device__ Real4 | operator- (Real4 a, Real b) |
__host__ __device__ void | operator-= (Real4 &a, Real b) |
__host__ __device__ Real2 | operator* (Real2 a, Real2 b) |
__host__ __device__ void | operator*= (Real2 &a, Real2 b) |
__host__ __device__ Real2 | operator* (Real2 a, Real b) |
__host__ __device__ Real2 | operator* (Real b, Real2 a) |
__host__ __device__ void | operator*= (Real2 &a, Real b) |
__host__ __device__ Real3 | operator* (Real3 a, Real3 b) |
__host__ __device__ void | operator*= (Real3 &a, Real3 b) |
__host__ __device__ Real3 | operator* (Real3 a, Real b) |
__host__ __device__ Real3 | operator* (Real b, Real3 a) |
__host__ __device__ void | operator*= (Real3 &a, Real b) |
__host__ __device__ Real4 | operator* (Real4 a, Real4 b) |
__host__ __device__ void | operator*= (Real4 &a, Real4 b) |
__host__ __device__ Real4 | operator* (Real4 a, Real b) |
__host__ __device__ Real4 | operator* (Real b, Real4 a) |
__host__ __device__ void | operator*= (Real4 &a, Real b) |
__host__ __device__ Real2 | operator/ (Real2 a, Real2 b) |
__host__ __device__ void | operator/= (Real2 &a, Real2 b) |
__host__ __device__ Real2 | operator/ (Real2 a, Real b) |
__host__ __device__ void | operator/= (Real2 &a, Real b) |
__host__ __device__ Real2 | operator/ (Real b, Real2 a) |
__host__ __device__ Real3 | operator/ (Real3 a, Real3 b) |
__host__ __device__ void | operator/= (Real3 &a, Real3 b) |
__host__ __device__ Real3 | operator/ (Real3 a, Real b) |
__host__ __device__ void | operator/= (Real3 &a, Real b) |
__host__ __device__ Real3 | operator/ (Real b, Real3 a) |
__host__ __device__ Real4 | operator/ (Real4 a, Real4 b) |
__host__ __device__ void | operator/= (Real4 &a, Real4 b) |
__host__ __device__ Real4 | operator/ (Real4 a, Real b) |
__host__ __device__ void | operator/= (Real4 &a, Real b) |
__host__ __device__ Real4 | operator/ (Real b, Real4 a) |
__host__ __device__ Real2 | rminr (Real2 a, Real2 b) |
__host__ __device__ Real3 | rminr (Real3 a, Real3 b) |
__host__ __device__ Real4 | rminr (Real4 a, Real4 b) |
__host__ __device__ Real2 | rmaxr (Real2 a, Real2 b) |
__host__ __device__ Real3 | rmaxr (Real3 a, Real3 b) |
__host__ __device__ Real4 | rmaxr (Real4 a, Real4 b) |
__host__ __device__ Real2 | lerp (Real2 a, Real2 b, Real t) |
__host__ __device__ Real3 | lerp (Real3 a, Real3 b, Real t) |
__host__ __device__ Real4 | lerp (Real4 a, Real4 b, Real t) |
__host__ __device__ Real | dot (Real2 a, Real2 b) |
__host__ __device__ Real | dot (Real3 a, Real3 b) |
__host__ __device__ Real | dot (Real4 a, Real4 b) |
__host__ __device__ Real | length (Real v) |
__host__ __device__ Real | length (Real2 v) |
__host__ __device__ Real | length (Real3 v) |
__host__ __device__ Real | length (Real4 v) |
__host__ __device__ Real2 | normalize (Real2 v) |
__host__ __device__ Real3 | normalize (Real3 v) |
__host__ __device__ Real4 | normalize (Real4 v) |
__host__ __device__ Real3 | cross (Real3 a, Real3 b) |
__host__ __device__ Real | sgn (Real a) |
__host__ __device__ Real3 | sgn (Real3 a) |
__host__ __device__ Real4 | Cables_ShapeFunctions (Real l, Real xi) |
__host__ __device__ Real4 | Cables_ShapeFunctionsDerivatives (Real l, Real xi) |
__host__ __device__ Real4 | Shells_ShapeFunctions (Real x, Real y) |
__host__ __device__ Real3 | user_BC_U (Real3 Pos) |
__host__ __device__ bool | IsFinite (Real3 v) |
__host__ __device__ bool | IsFinite (Real4 v) |
__device__ void | clearRow (uint i_idx, uint csrStartIdx, uint csrEndIdx, Real *A_Matrix, Real *Bi) |
__device__ void | clearRow3 (uint i_idx, uint csrStartIdx, uint csrEndIdx, Real *A_Matrix, Real3 *Bi) |
__host__ __device__ bool | IsInMarkerGroup (MarkerGroup group, Real code) |
__host__ __device__ MarkerType | GetMarkerType (Real code) |
__host__ __device__ Real | GetMarkerCode (MarkerType type) |
__host__ __device__ bool | IsSphParticle (Real code) |
__host__ __device__ bool | IsFluidParticle (Real code) |
__host__ __device__ bool | IsBceMarker (Real code) |
__host__ __device__ bool | IsBceWallMarker (Real code) |
__host__ __device__ bool | IsBceSolidMarker (Real code) |
void | CopyParametersToDevice (std::shared_ptr< SimParams > paramsH, std::shared_ptr< Counters > countersH) |
__host__ __device__ Real | W3h_CubicSpline (Real d, Real invh) |
__host__ __device__ Real3 | GradW3h_CubicSpline (Real3 d, Real invh) |
__host__ __device__ Real | W3h_Quadratic (Real d, Real invh) |
__host__ __device__ Real3 | GradW3h_Quadratic (Real3 d, Real invh) |
__host__ __device__ Real | W3h_QuinticSpline (Real d, Real invh) |
__host__ __device__ Real3 | GradW3h_QuinticSpline (Real3 d, Real invh) |
__host__ __device__ Real | W3h_Wendland (Real d, Real invh) |
__host__ __device__ Real3 | GradW3h_Wendland (Real3 d, Real invh) |
__host__ __device__ Real | W3h (KernelType type, Real d, Real invh) |
__host__ __device__ Real3 | GradW3h (KernelType type, Real3 d, Real invh) |
__device__ Real | Eos (Real rho, EosType eos_type) |
__device__ Real | InvEos (Real pw, EosType eos_type) |
__device__ Real | FerrariCi (Real rho) |
__device__ Real3 | Modify_Local_PosB (Real3 &b, Real3 a) |
__device__ Real3 | Distance (Real3 a, Real3 b) |
__device__ void | RotationMatirixFromQuaternion (Real3 &AD1, Real3 &AD2, Real3 &AD3, const Real4 &q) |
__device__ Real3 | InverseRotate_By_RotationMatrix_DeviceHost (const Real3 &A1, const Real3 &A2, const Real3 &A3, const Real3 &r3) |
__device__ int3 | calcGridPos (Real3 p) |
__device__ uint | calcGridHash (int3 gridPos) |
__device__ uint | calcCellID (uint3 cellPos) |
__device__ uint | getCellPos (int trialCellPos, uint ub) |
__device__ uint | getCenterCellID (const uint *numPartsInCenterCells, const uint threadID) |
__device__ Real | Strain_Rate (Real3 grad_ux, Real3 grad_uy, Real3 grad_uz) |
__device__ Real | Tensor_Norm (Real *T) |
__device__ Real | Sym_Tensor_Norm (Real3 xx_yy_zz, Real3 xy_xz_yz) |
__device__ Real | Inertia_num (Real Strain_rate, Real rho, Real p, Real diam) |
__device__ Real | mu_I (Real Strain_rate, Real I) |
__device__ Real | mu_eff (Real Strain_rate, Real p, Real mu_I) |
__device__ Real | Herschel_Bulkley_stress (Real Strain_rate, Real k, Real n, Real tau0) |
__device__ Real | Herschel_Bulkley_mu_eff (Real Strain_rate, Real k, Real n, Real tau0) |
__global__ void | calc_A_tensor (Real *A_tensor, Real *G_tensor, Real4 *sortedPosRad, Real4 *sortedRhoPreMu, Real *sumWij_inv, uint *cellStart, uint *cellEnd, volatile bool *error_flag) |
__global__ void | calc_L_tensor (Real *A_tensor, Real *L_tensor, Real *G_tensor, Real4 *sortedPosRad, Real4 *sortedRhoPreMu, Real *sumWij_inv, uint *cellStart, uint *cellEnd, volatile bool *error_flag) |
__global__ void | calcRho_kernel (Real4 *sortedPosRad, Real4 *sortedRhoPreMu, Real *sumWij_inv, const uint *neighborList, const uint *mynumContacts, volatile bool *error_flag) |
__global__ void | calcNormalizedRho_Gi_fillInMatrixIndices (Real4 *sortedPosRad, Real3 *sortedVelMas, Real4 *sortedRhoPreMu, Real *sumWij_inv, Real *G_i, Real3 *normals, const uint *csrColInd, const uint *numContacts, volatile bool *error_flag) |
__global__ void | Function_Gradient_Laplacian_Operator (Real4 *sortedPosRad, Real3 *sortedVelMas, Real4 *sortedRhoPreMu, Real *sumWij_inv, Real *G_tensor, Real *L_tensor, Real *A_L, Real3 *A_G, Real *A_f, uint *csrColInd, uint *numContacts, volatile bool *error_flag) |
__global__ void | Jacobi_SOR_Iter (Real4 *sortedRhoPreMu, Real *A_Matrix, Real3 *V_old, Real3 *V_new, Real3 *b3vec, Real *q_old, Real *q_new, Real *b1vec, const uint *csrColInd, const uint *numContacts, bool _3dvector, volatile bool *error_flag) |
__global__ void | Update_AND_Calc_Res (Real4 *sortedRhoPreMu, Real3 *V_old, Real3 *V_new, Real *q_old, Real *q_new, Real *Residuals, bool _3dvector, volatile bool *error_flag) |
__global__ void | Initialize_Variables (Real4 *sortedRhoPreMu, Real *p_old, Real3 *sortedVelMas, Real3 *V_new, volatile bool *error_flag) |
__global__ void | UpdateDensity (Real3 *vis_vel, Real3 *XSPH_Vel, Real3 *new_vel, Real4 *sortedPosRad, Real4 *sortedRhoPreMu, Real *sumWij_inv, uint *cellStart, uint *cellEnd, volatile bool *error_flag) |
__global__ void | neighborSearchNum (const Real4 *sortedPosRad, const Real4 *sortedRhoPreMu, const uint *cellStart, const uint *cellEnd, const uint *activityIdentifierD, uint *numNeighborsPerPart, volatile bool *error_flag) |
__global__ void | neighborSearchID (const Real4 *sortedPosRad, const Real4 *sortedRhoPreMu, const uint *cellStart, const uint *cellEnd, const uint *activityIdentifierD, const uint *numNeighborsPerPart, uint *neighborList, volatile bool *error_flag) |
void | computeGridSize (uint n, uint blockSize, uint &numBlocks, uint &numThreads) |
Compute number of blocks and threads for calculation on GPU. More... | |
void | SaveParticleDataCFD (const std::string &dir, OutputLevel level, const thrust::device_vector< Real4 > &posRadD, const thrust::device_vector< Real3 > &velMasD, const thrust::device_vector< Real4 > &derivVelRhoD, const thrust::device_vector< Real4 > &rhoPresMuD, const thrust::device_vector< Real4 > &srTauMuD, const thrust::host_vector< int4 > &referenceArray, const thrust::host_vector< int4 > &referenceArrayFEA) |
Save current CFD SPH data to files. More... | |
void | SaveParticleDataCRM (const std::string &dir, OutputLevel level, const thrust::device_vector< Real4 > &posRadD, const thrust::device_vector< Real3 > &velMasD, const thrust::device_vector< Real4 > &derivVelRhoD, const thrust::device_vector< Real4 > &rhoPresMuD, const thrust::device_vector< Real3 > &tauXxYyZzD, const thrust::device_vector< Real3 > &tauXyXzYzD, const thrust::host_vector< int4 > &referenceArray, const thrust::host_vector< int4 > &referenceArrayFEA) |
Save current CRM SPH data to files. More... | |
void | SaveSolidData (const std::string &dir, double time, const thrust::device_vector< Real3 > &posRigidD, const thrust::device_vector< Real4 > &rotRigidD, const thrust::device_vector< Real3 > &velRigidD, const thrust::device_vector< Real3 > &forceRigidD, const thrust::device_vector< Real3 > &torqueRigidD, const thrust::device_vector< Real3 > &pos1DNodeD, const thrust::device_vector< Real3 > &vel1DNodeD, const thrust::device_vector< Real3 > &force1DNodeD, const thrust::device_vector< Real3 > &pos2DNodeD, const thrust::device_vector< Real3 > &vel2DNodeD, const thrust::device_vector< Real3 > &force2DNodeD) |
Save current FSI solid data. More... | |
void | WriteParticleFileCSV (const std::string &filename, thrust::device_vector< Real4 > &posRadD, thrust::device_vector< Real3 > &velMasD, thrust::device_vector< Real4 > &rhoPresMuD, thrust::host_vector< int4 > &referenceArray) |
Save current particle data to a CSV file. More... | |
void | WriteParticleFileCHPF (const std::string &filename, thrust::device_vector< Real4 > &posRadD, thrust::host_vector< int4 > &referenceArray) |
Save current particle data to a binary ChPF file. More... | |
void | printStruct (struct Real2 &s) |
Print a Real2 struct. | |
void | printStruct (struct int2 &s) |
Print a Int2 struct. | |
void | printStruct (struct Real3 &s) |
Print a Real3 struct. | |
void | printStruct (struct int3 &s) |
Print a Int3 struct. | |
void | printStruct (struct Real4 &s) |
Print a Real4 struct. | |
void | printStruct (struct int4 &s) |
Print a Int4 struct. | |
ChVector3d | ToChVector (const Real3 &p3) |
Convert a Real3 data structure to a ChVector3d data structure. | |
ChVector3d | ToChVector (const Real2 &p2) |
Convert a Real2 data structure to a ChVector3d data structure. | |
ChVector3d | ToChVector (const Real4 &p4) |
Convert the first 3 arguments of a Real4 data structure to a ChVector3d data structure. | |
ChQuaternion | ToChQuaternion (const Real4 &q4) |
Convert a Real4 data structure to a ChQuaternion data structure. | |
Real2 | ToReal2 (const ChVector2<> &v2) |
Real3 | ToReal3 (const ChVector3<> &v3) |
Convert a ChVector data structure to a Real3 data structure. | |
Real4 | ToReal4 (const ChVector3d &v3, Real m) |
Convert a ChVector3d and a scalar to a Real4 data structure. | |
Real4 | ToReal4 (const ChQuaternion<> &q4) |
Convert a ChQuaternion data structure to a Real4 data structure. | |