Project Chrono: chrono::fsi::ChFsiForceI2SPH Class Reference

Public Member Functions | List of all members
chrono::fsi::ChFsiForceI2SPH Class Reference
FSI module » Physics objects

## Description

Derived class of ChFsiForce that implements the I2SPH method.

Inheritance diagram for chrono::fsi::ChFsiForceI2SPH:
[legend]
Collaboration diagram for chrono::fsi::ChFsiForceI2SPH:
[legend]

## 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.
void | Initialize () override
| Synchronize the copy of the data (parameters and number of objects) between device (GPU) and host (CPU).
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.
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.
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.

## 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).
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).
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).
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).
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< ChFsiLinearSolver > | myLinearSolver
| pointer to the linear solver type
std::shared_ptr< ChBce > | bceWorker
| pointer to Boundary Condition Enforcing particles class
std::shared_ptr< ChCollisionSystemFsi > | fsiCollisionSystem
| collision system for building neighbors list
std::shared_ptr< SphMarkerDataD > | sphMarkersD
| device copy of the SPH particles data
std::shared_ptr< SphMarkerDataD > | sortedSphMarkersD
| device copy of the sorted sph particles data
std::shared_ptr< ProximityDataD > | markersProximityD
| pointer object that holds the proximity of the particles
std::shared_ptr< FsiGeneralData > | fsiGeneralData
| pointer to sph general data
std::shared_ptr< SimParams > | paramsH
| pointer to simulation parameters
std::shared_ptr< ChCounters > | numObjectsH
| 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

  otherBceWorker | object that handles BCE particles
  otherSortedSphMarkersD | information of particle in the sorted device array
  otherMarkersProximityD | object that holds device proximity info
  otherFsiGeneralData | SPH general data
  otherParamsH | simulation parameters on host
  otherNumObjects | counters
  verb | verbose 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:

- D:/W/B/src/chrono-9.0.1/src/chrono_fsi/physics/ChFsiForceI2SPH.cuh