chrono::fsi::ChFsiForceI2SPH Class Reference

Description

Derived class of ChFsiForce that implements the I2SPH method.

Inheritance diagram for chrono::fsi::ChFsiForceI2SPH:
Collaboration diagram for chrono::fsi::ChFsiForceI2SPH:

Public Member Functions

 ChFsiForceI2SPH (std::shared_ptr< ChBce > otherBceWorker, std::shared_ptr< SphMarkerDataD > otherSortedSphMarkersD, std::shared_ptr< ProximityDataD > otherMarkersProximityD, std::shared_ptr< FsiGeneralData > otherFsiGeneralData, std::shared_ptr< SimParams > otherParamsH, std::shared_ptr< ChCounters > otherNumObjects, bool verb)
 Force class implemented using incompressible SPH method with implicit integrator. More...
 
void Initialize () override
 Synchronize the copy of the data (parameters and number of objects) between device (GPU) and host (CPU). More...
 
- Public Member Functions inherited from chrono::fsi::ChFsiForce
 ChFsiForce (std::shared_ptr< ChBce > otherBceWorker, std::shared_ptr< SphMarkerDataD > otherSortedSphMarkersD, std::shared_ptr< ProximityDataD > otherMarkersProximityD, std::shared_ptr< FsiGeneralData > otherFsiGeneralData, std::shared_ptr< SimParams > otherParamsH, std::shared_ptr< ChCounters > otherNumObjects, bool verb)
 Base constructor for the ChFsiForce class. More...
 
virtual ~ChFsiForce ()
 Destructor of the ChFsiForce.
 
void SetLinearSolver (SolverType type)
 Function to set the linear solver type for the solver implemented using the ISPH method (ChFsiForceI2SPH and ChFsiForceIISPH)
 
- Public Member Functions inherited from chrono::fsi::ChFsiGeneral
 ChFsiGeneral (std::shared_ptr< SimParams > hostParams, std::shared_ptr< ChCounters > hostNumObjects)
 Constructor for the ChFsiGeneral class. More...
 
virtual ~ChFsiGeneral ()
 Destructor of the ChFsiGeneral class.
 
void computeGridSize (uint n, uint blockSize, uint &numBlocks, uint &numThreads)
 Compute number of blocks and threads for calculation on GPU. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from chrono::fsi::ChFsiForce
static void CopySortedToOriginal_Invasive_R3 (thrust::device_vector< Real3 > &original, thrust::device_vector< Real3 > &sorted, const thrust::device_vector< uint > &gridMarkerIndex)
 Copy sorted data into original data (real3). More...
 
static void CopySortedToOriginal_NonInvasive_R3 (thrust::device_vector< Real3 > &original, const thrust::device_vector< Real3 > &sorted, const thrust::device_vector< uint > &gridMarkerIndex)
 Copy sorted data into original data (real3). More...
 
static void CopySortedToOriginal_Invasive_R4 (thrust::device_vector< Real4 > &original, thrust::device_vector< Real4 > &sorted, const thrust::device_vector< uint > &gridMarkerIndex)
 Copy sorted data into original data (real4). More...
 
static void CopySortedToOriginal_NonInvasive_R4 (thrust::device_vector< Real4 > &original, thrust::device_vector< Real4 > &sorted, const thrust::device_vector< uint > &gridMarkerIndex)
 Copy sorted data into original data (real4). More...
 
- Protected Member Functions inherited from chrono::fsi::ChFsiGeneral
uint iDivUp (uint a, uint b)
 Return a/b or a/b + 1.
 
- Protected Attributes inherited from chrono::fsi::ChFsiForce
std::shared_ptr< ChFsiLinearSolvermyLinearSolver
 pointer to the linear solver type
 
std::shared_ptr< ChBcebceWorker
 pointer to Boundary Condition Enforcing particles class
 
std::shared_ptr< ChCollisionSystemFsifsiCollisionSystem
 collision system for building neighbors list
 
std::shared_ptr< SphMarkerDataDsphMarkersD
 device copy of the SPH particles data
 
std::shared_ptr< SphMarkerDataDsortedSphMarkersD
 device copy of the sorted sph particles data
 
std::shared_ptr< ProximityDataDmarkersProximityD
 pointer object that holds the proximity of the particles
 
std::shared_ptr< FsiGeneralDatafsiGeneralData
 pointer to sph general data
 
std::shared_ptr< SimParamsparamsH
 pointer to simulation parameters
 
std::shared_ptr< ChCountersnumObjectsH
 pointer to number of objects, fluid and boundary particles
 
thrust::device_vector< Real3 > vel_vis_Sorted_D
 sorted visualization velocity data
 
thrust::device_vector< Real3 > vel_XSPH_Sorted_D
 sorted xsph velocity data
 
thrust::device_vector< Real4 > derivVelRhoD_Sorted_D
 sorted derivVelRhoD
 
bool verbose
 

Constructor & Destructor Documentation

◆ ChFsiForceI2SPH()

chrono::fsi::ChFsiForceI2SPH::ChFsiForceI2SPH ( std::shared_ptr< ChBce otherBceWorker,
std::shared_ptr< SphMarkerDataD otherSortedSphMarkersD,
std::shared_ptr< ProximityDataD otherMarkersProximityD,
std::shared_ptr< FsiGeneralData otherFsiGeneralData,
std::shared_ptr< SimParams otherParamsH,
std::shared_ptr< ChCounters otherNumObjects,
bool  verb 
)

Force class implemented using incompressible SPH method with implicit integrator.

Parameters
otherBceWorkerobject that handles BCE particles
otherSortedSphMarkersDinformation of particle in the sorted device array
otherMarkersProximityDobject that holds device proximity info
otherFsiGeneralDataSPH general data
otherParamsHsimulation parameters on host
otherNumObjectscounters
verbverbose terminal output

Member Function Documentation

◆ Initialize()

void chrono::fsi::ChFsiForceI2SPH::Initialize ( )
overridevirtual

Synchronize the copy of the data (parameters and number of objects) between device (GPU) and host (CPU).

This function needs to be called once the host data are modified.

Reimplemented from chrono::fsi::ChFsiForce.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_fsi/physics/ChFsiForceI2SPH.cuh