chrono::fsi::ChSystemFsi_impl Class Reference

Description

Underlying implementation of an FSI system.

Inheritance diagram for chrono::fsi::ChSystemFsi_impl:
Collaboration diagram for chrono::fsi::ChSystemFsi_impl:

Public Member Functions

 ChSystemFsi_impl (std::shared_ptr< SimParams > params)
 
void AddSPHParticle (Real4 pos, Real4 rhoPresMu, Real3 vel=mR3(0.0), Real3 tauXxYyZz=mR3(0.0), Real3 tauXyXzYz=mR3(0.0))
 Add an SPH particle given its position, physical properties, velocity, and stress.
 
void Initialize (size_t numRigidBodies, size_t numFlexBodies1D, size_t numFlexBodies2D, size_t numFlexNodes1D, size_t numFlexNodes2D)
 Initialize the underlying FSU system. More...
 
thrust::device_vector< Real4 > GetParticleForces ()
 Extract forces applied on all SPH particles.
 
thrust::device_vector< Real4 > GetParticleAccelerations ()
 Extract accelerations of all SPH particles.
 
thrust::device_vector< int > FindParticlesInBox (const Real3 &hsize, const Real3 &pos, const Real3 &ax, const Real3 &ay, const Real3 &az)
 Find indices of all SPH particles inside the specified OBB.
 
thrust::device_vector< Real4 > GetParticlePositions (const thrust::device_vector< int > &indices)
 Extract positions of all SPH particles with indices in the provided array. More...
 
thrust::device_vector< Real3 > GetParticleVelocities (const thrust::device_vector< int > &indices)
 Extract velocities of all SPH particles with indices in the provided array. More...
 
thrust::device_vector< Real4 > GetParticleForces (const thrust::device_vector< int > &indices)
 Extract forces applied to all SPH particles with indices in the provided array. More...
 
thrust::device_vector< Real4 > GetParticleAccelerations (const thrust::device_vector< int > &indices)
 Extract accelerations of all SPH particles with indices in the provided array. More...
 
- Public Member Functions inherited from chrono::fsi::ChFsiBase
 ChFsiBase (std::shared_ptr< SimParams > params, std::shared_ptr< ChCounters > numObjects)
 Constructor for the ChFsiBase class. More...
 
virtual ~ChFsiBase ()
 Destructor of the ChFsiBase class.
 

Public Attributes

std::shared_ptr< SphMarkerDataDsphMarkers_D
 Information of SPH particles at state 1 on device.
 
std::shared_ptr< SphMarkerDataDsortedSphMarkers1_D
 Information of SPH particles at state 2 on device.
 
std::shared_ptr< SphMarkerDataDsortedSphMarkers2_D
 Sorted information of SPH particles at state 1 on device.
 
std::shared_ptr< SphMarkerDataHsphMarkers_H
 Information of SPH particles on host.
 
std::shared_ptr< FsiBodyStateHfsiBodyState_H
 Rigid body state (host)
 
std::shared_ptr< FsiBodyStateDfsiBodyState1_D
 Rigid body state 1 (device)
 
std::shared_ptr< FsiBodyStateDfsiBodyState2_D
 Rigid body state 2 (device)
 
std::shared_ptr< FsiMeshStateHfsiMesh1DState_H
 1-D FEA mesh state (host)
 
std::shared_ptr< FsiMeshStateDfsiMesh1DState_D
 1-D FEA mesh state (device)
 
std::shared_ptr< FsiMeshStateHfsiMesh2DState_H
 2-D FEA mesh state (host)
 
std::shared_ptr< FsiMeshStateDfsiMesh2DState_D
 2-D FEA mesh state (device)
 
std::shared_ptr< FsiDatafsiData
 simulation FSI data
 
std::shared_ptr< ProximityDataDmarkersProximity_D
 Information of neighbor search on the device.
 

Friends

class ChSystemFsi
 

Additional Inherited Members

- Static Public Member Functions inherited from chrono::fsi::ChFsiBase
static void computeGridSize (uint n, uint blockSize, uint &numBlocks, uint &numThreads)
 Compute number of blocks and threads for calculation on GPU. More...
 
- Protected Attributes inherited from chrono::fsi::ChFsiBase
std::shared_ptr< SimParamsparamsH
 simulation parameters (host)
 
std::shared_ptr< ChCountersnumObjectsH
 problem counters (host)
 

Member Function Documentation

◆ GetParticleAccelerations()

thrust::device_vector<Real4> chrono::fsi::ChSystemFsi_impl::GetParticleAccelerations ( const thrust::device_vector< int > &  indices)

Extract accelerations of all SPH particles with indices in the provided array.

The return value is a device thrust vector.

◆ GetParticleForces()

thrust::device_vector<Real4> chrono::fsi::ChSystemFsi_impl::GetParticleForces ( const thrust::device_vector< int > &  indices)

Extract forces applied to all SPH particles with indices in the provided array.

The return value is a device thrust vector.

◆ GetParticlePositions()

thrust::device_vector<Real4> chrono::fsi::ChSystemFsi_impl::GetParticlePositions ( const thrust::device_vector< int > &  indices)

Extract positions of all SPH particles with indices in the provided array.

The return value is a device thrust vector.

◆ GetParticleVelocities()

thrust::device_vector<Real3> chrono::fsi::ChSystemFsi_impl::GetParticleVelocities ( const thrust::device_vector< int > &  indices)

Extract velocities of all SPH particles with indices in the provided array.

The return value is a device thrust vector.

◆ Initialize()

void chrono::fsi::ChSystemFsi_impl::Initialize ( size_t  numRigidBodies,
size_t  numFlexBodies1D,
size_t  numFlexBodies2D,
size_t  numFlexNodes1D,
size_t  numFlexNodes2D 
)

Initialize the underlying FSU system.

Set reference arrays, set counters, and resize simulation arrays.


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