Description
Underlying implementation of an FSI system.
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< SphMarkerDataD > | sphMarkers_D |
Information of SPH particles at state 1 on device. | |
std::shared_ptr< SphMarkerDataD > | sortedSphMarkers1_D |
Information of SPH particles at state 2 on device. | |
std::shared_ptr< SphMarkerDataD > | sortedSphMarkers2_D |
Sorted information of SPH particles at state 1 on device. | |
std::shared_ptr< SphMarkerDataH > | sphMarkers_H |
Information of SPH particles on host. | |
std::shared_ptr< FsiBodyStateH > | fsiBodyState_H |
Rigid body state (host) | |
std::shared_ptr< FsiBodyStateD > | fsiBodyState1_D |
Rigid body state 1 (device) | |
std::shared_ptr< FsiBodyStateD > | fsiBodyState2_D |
Rigid body state 2 (device) | |
std::shared_ptr< FsiMeshStateH > | fsiMesh1DState_H |
1-D FEA mesh state (host) | |
std::shared_ptr< FsiMeshStateD > | fsiMesh1DState_D |
1-D FEA mesh state (device) | |
std::shared_ptr< FsiMeshStateH > | fsiMesh2DState_H |
2-D FEA mesh state (host) | |
std::shared_ptr< FsiMeshStateD > | fsiMesh2DState_D |
2-D FEA mesh state (device) | |
std::shared_ptr< FsiData > | fsiData |
simulation FSI data | |
std::shared_ptr< ProximityDataD > | markersProximity_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< SimParams > | paramsH |
simulation parameters (host) | |
std::shared_ptr< ChCounters > | numObjectsH |
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