Physics objects
Description
Collaboration diagram for Physics objects:

Classes | |
class | chrono::fsi::sph::BceManager |
Manager for processing boundary condition enforcing (BCE) particle forces in an FSI system. More... | |
class | chrono::fsi::sph::CollisionSystem |
Base class for processing proximity computation in an FSI system. More... | |
class | chrono::fsi::sph::FluidDynamics |
Class to represent the fluid/granular dynamics system. More... | |
struct | chrono::fsi::sph::SphMarkerDataD |
Struct to store the information of SPH particles on the device. More... | |
struct | chrono::fsi::sph::SphMarkerDataH |
Struct to store the information of SPH particles on the host. More... | |
struct | chrono::fsi::sph::FsiBodyStateH |
Rigid body states on host. More... | |
struct | chrono::fsi::sph::FsiBodyStateD |
Rigid body states on device. More... | |
struct | chrono::fsi::sph::FsiMeshStateH |
FEA mesh states on host. More... | |
struct | chrono::fsi::sph::FsiMeshStateD |
FEA mesh state on device. More... | |
struct | chrono::fsi::sph::ProximityDataD |
Struct to store neighbor search information on the device. More... | |
struct | chrono::fsi::sph::CudaDeviceInfo |
Struct to store CUDA device information. More... | |
struct | chrono::fsi::sph::Counters |
Number of rigid and flexible solid bodies, fluid SPH particles, solid SPH particles, boundary SPH particles. More... | |
struct | chrono::fsi::sph::FsiDataManager |
Data manager for the SPH-based FSI system. More... | |
class | chrono::fsi::sph::FsiForce |
Base class to calculate force between SPH particles. More... | |
class | chrono::fsi::sph::FsiForceISPH |
Inter-particle force calculation for the I2SPH method. More... | |
class | chrono::fsi::sph::FsiForceWCSPH |
Inter-particle force calculation for explicit schemes. More... | |
Typedefs | |
typedef thrust::device_vector< Real3 >::iterator | chrono::fsi::sph::r3IterD |
typedef device iterators for shorthand SPH operation of thrust vectors of Real3 | |
typedef thrust::device_vector< Real4 >::iterator | chrono::fsi::sph::r4IterD |
typedef device iterators for shorthand SPH operation of thrust vectors of Real4 | |
typedef thrust::tuple< r4IterD, r3IterD, r4IterD, r3IterD, r3IterD > | chrono::fsi::sph::iterTupleSphD |
typedef device tuple for holding SPH data pos,vel,[rho,pressure,mu,type] | |
typedef thrust::zip_iterator< iterTupleSphD > | chrono::fsi::sph::zipIterSphD |
typedef thrust::host_vector< Real3 >::iterator | chrono::fsi::sph::r3IterH |
typedef host iterators for shorthand SPH operation of thrust vectors of Real3 | |
typedef thrust::host_vector< Real4 >::iterator | chrono::fsi::sph::r4IterH |
typedef host iterators for shorthand SPH operation of thrust vectors of Real4 | |
typedef thrust::tuple< r4IterH, r3IterH, r4IterH, r3IterH, r3IterH > | chrono::fsi::sph::iterTupleH |
typedef host tuple for holding SPH data pos,vel,[rho,pressure,mu,type] | |
typedef thrust::zip_iterator< iterTupleH > | chrono::fsi::sph::zipIterSphH |
typedef thrust::tuple< r3IterD, r3IterD, r3IterD, r4IterD, r3IterD, r3IterD > | chrono::fsi::sph::iterTupleRigidD |
typedef device iterators for shorthand rigid body states: pos,lin_vel,lin_acc,rot,ang_Vel,ang_acc | |
typedef thrust::zip_iterator< iterTupleRigidD > | chrono::fsi::sph::zipIterRigidD |
typedef thrust::tuple< r3IterH, r3IterH, r3IterH, r4IterH, r3IterH, r3IterH > | chrono::fsi::sph::iterTupleRigidH |
typedef host iterators for shorthand rigid body states: pos,lin_vel,lin_acc,rot,ang_Vel,ang_acc | |
typedef thrust::zip_iterator< iterTupleRigidH > | chrono::fsi::sph::zipIterRigidH |
typedef thrust::tuple< r3IterH, r3IterH, r3IterH, r4IterH, r3IterH, r3IterH > | chrono::fsi::sph::iterTupleChronoBodiesH |
typedef device iterators for shorthand chrono bodies operations | |
typedef thrust::zip_iterator< iterTupleChronoBodiesH > | chrono::fsi::sph::zipIterChronoBodiesH |
Enumerations | |
enum | chrono::fsi::sph::MarkerGroup { FLUID, SOLID, BOUNDARY, NON_FLUID, NON_SOLID, NON_BOUNDARY, ALL } |
Marker (SPH and BCE) groups. | |
enum | chrono::fsi::sph::MarkerType { SPH_PARTICLE, SPH_HELPER, SPH_GHOST, BCE_WALL, BCE_RIGID, BCE_FLEX1D, BCE_FLEX2D } |
Marker (SPH and BCE) type. | |
Functions | |
__host__ __device__ bool | chrono::fsi::sph::IsInMarkerGroup (MarkerGroup group, Real code) |
__host__ __device__ MarkerType | chrono::fsi::sph::GetMarkerType (Real code) |
__host__ __device__ Real | chrono::fsi::sph::GetMarkerCode (MarkerType type) |
__host__ __device__ bool | chrono::fsi::sph::IsSphParticle (Real code) |
__host__ __device__ bool | chrono::fsi::sph::IsFluidParticle (Real code) |
__host__ __device__ bool | chrono::fsi::sph::IsBceMarker (Real code) |
__host__ __device__ bool | chrono::fsi::sph::IsBceWallMarker (Real code) |
__host__ __device__ bool | chrono::fsi::sph::IsBceSolidMarker (Real code) |
__host__ __device__ Real | chrono::fsi::sph::W3h_CubicSpline (Real d, Real invh) |
__host__ __device__ Real3 | chrono::fsi::sph::GradW3h_CubicSpline (Real3 d, Real invh) |
__host__ __device__ Real | chrono::fsi::sph::W3h_Quadratic (Real d, Real invh) |
__host__ __device__ Real3 | chrono::fsi::sph::GradW3h_Quadratic (Real3 d, Real invh) |
__host__ __device__ Real | chrono::fsi::sph::W3h_QuinticSpline (Real d, Real invh) |
__host__ __device__ Real3 | chrono::fsi::sph::GradW3h_QuinticSpline (Real3 d, Real invh) |
__host__ __device__ Real | chrono::fsi::sph::W3h_Wendland (Real d, Real invh) |
__host__ __device__ Real3 | chrono::fsi::sph::GradW3h_Wendland (Real3 d, Real invh) |
__host__ __device__ Real | chrono::fsi::sph::W3h (KernelType type, Real d, Real invh) |
__host__ __device__ Real3 | chrono::fsi::sph::GradW3h (KernelType type, Real3 d, Real invh) |
__device__ Real | chrono::fsi::sph::Eos (Real rho, EosType eos_type) |
__device__ Real | chrono::fsi::sph::InvEos (Real pw, EosType eos_type) |
__device__ Real | chrono::fsi::sph::FerrariCi (Real rho) |
__device__ Real3 | chrono::fsi::sph::Modify_Local_PosB (Real3 &b, Real3 a) |
__device__ Real3 | chrono::fsi::sph::Distance (Real3 a, Real3 b) |
__device__ void | chrono::fsi::sph::RotationMatirixFromQuaternion (Real3 &AD1, Real3 &AD2, Real3 &AD3, const Real4 &q) |
__device__ Real3 | chrono::fsi::sph::InverseRotate_By_RotationMatrix_DeviceHost (const Real3 &A1, const Real3 &A2, const Real3 &A3, const Real3 &r3) |
__device__ int3 | chrono::fsi::sph::calcGridPos (Real3 p) |
__device__ uint | chrono::fsi::sph::calcGridHash (int3 gridPos) |
__device__ uint | chrono::fsi::sph::calcCellID (uint3 cellPos) |
__device__ uint | chrono::fsi::sph::getCellPos (int trialCellPos, uint ub) |
__device__ uint | chrono::fsi::sph::getCenterCellID (const uint *numPartsInCenterCells, const uint threadID) |
__device__ Real | chrono::fsi::sph::Strain_Rate (Real3 grad_ux, Real3 grad_uy, Real3 grad_uz) |
__device__ Real | chrono::fsi::sph::Tensor_Norm (Real *T) |
__device__ Real | chrono::fsi::sph::Sym_Tensor_Norm (Real3 xx_yy_zz, Real3 xy_xz_yz) |
__device__ Real | chrono::fsi::sph::Inertia_num (Real Strain_rate, Real rho, Real p, Real diam) |
__device__ Real | chrono::fsi::sph::mu_I (Real Strain_rate, Real I) |
__device__ Real | chrono::fsi::sph::mu_eff (Real Strain_rate, Real p, Real mu_I) |
__device__ Real | chrono::fsi::sph::Herschel_Bulkley_stress (Real Strain_rate, Real k, Real n, Real tau0) |
__device__ Real | chrono::fsi::sph::Herschel_Bulkley_mu_eff (Real Strain_rate, Real k, Real n, Real tau0) |
__global__ void | chrono::fsi::sph::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 | chrono::fsi::sph::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 | chrono::fsi::sph::calcRho_kernel (Real4 *sortedPosRad, Real4 *sortedRhoPreMu, Real *sumWij_inv, const uint *neighborList, const uint *mynumContacts, volatile bool *error_flag) |
__global__ void | chrono::fsi::sph::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 | chrono::fsi::sph::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 | chrono::fsi::sph::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 | chrono::fsi::sph::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 | chrono::fsi::sph::Initialize_Variables (Real4 *sortedRhoPreMu, Real *p_old, Real3 *sortedVelMas, Real3 *V_new, volatile bool *error_flag) |
__global__ void | chrono::fsi::sph::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 | chrono::fsi::sph::neighborSearchNum (const Real4 *sortedPosRad, const Real4 *sortedRhoPreMu, const uint *cellStart, const uint *cellEnd, const uint numActive, uint *numNeighborsPerPart, volatile bool *error_flag) |
__global__ void | chrono::fsi::sph::neighborSearchID (const Real4 *sortedPosRad, const Real4 *sortedRhoPreMu, const uint *cellStart, const uint *cellEnd, const uint numActive, const uint *numNeighborsPerPart, uint *neighborList, volatile bool *error_flag) |