chrono::fsi::sph::FsiDataManager Class Reference
  Description
Data manager for the SPH-based FSI system.
Public Member Functions | |
| FsiDataManager (std::shared_ptr< SimParams > params) | |
| void | AddSphParticle (Real3 pos, Real rho, Real pres, Real mu, 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 | AddBceMarker (MarkerType type, Real3 pos, Real3 vel) | 
| Add a BCE marker of given type at the specified position and with specified velocity.  | |
| void | Initialize (unsigned int num_fsi_bodies, unsigned int num_fsi_nodes1D, unsigned int num_fsi_elements1D, unsigned int num_fsi_nodes2D, unsigned int num_fsi_elements2D) | 
| Initialize the underlying FSU system.  More... | |
| std::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.  | |
| std::vector< Real3 > | GetPositions () | 
| Extract positions of all markers (SPH and BCE).  | |
| std::vector< Real3 > | GetVelocities () | 
| Extract velocities of all markers (SPH and BCE).  | |
| std::vector< Real3 > | GetAccelerations () | 
| Extract accelerations of all markers (SPH and BCE).  | |
| std::vector< Real3 > | GetForces () | 
| Extract forces applied to all markers (SPH and BCE).  | |
| std::vector< Real3 > | GetProperties () | 
| Extract fluid properties of all markers (SPH and BCE).  More... | |
| std::vector< Real3 > | GetPositions (const std::vector< int > &indices) | 
| Extract positions of all markers (SPH and BCE) with indices in the provided array.  | |
| std::vector< Real3 > | GetVelocities (const std::vector< int > &indices) | 
| Extract velocities of all markers (SPH and BCE) with indices in the provided array.  | |
| std::vector< Real3 > | GetAccelerations (const std::vector< int > &indices) | 
| Extract accelerations of all markers (SPH and BCE) with indices in the provided array.  | |
| std::vector< Real3 > | GetForces (const std::vector< int > &indices) | 
| Extract forces applied to all markers (SPH and BCE) with indices in the provided array.  | |
| std::vector< Real3 > | GetRigidForces () | 
| Extract FSI forces on rigid bodies.  | |
| std::vector< Real3 > | GetRigidTorques () | 
| Extract FSI torques on rigid bodies.  | |
| std::vector< Real3 > | GetFlex1dForces () | 
| Extract FSI forces on flex1D nodes.  | |
| std::vector< Real3 > | GetFlex2dForces () | 
| Extract FSI forces on flex2D nodes.  | |
Public Attributes | |
| std::shared_ptr< SimParams > | paramsH | 
| simulation parameters (host)  | |
| std::shared_ptr< Counters > | countersH | 
| problem counters (host)  | |
| 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 > | fsiBodyState_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< ProximityDataD > | markersProximity_D | 
| Information of neighbor search on the device.  | |
| std::shared_ptr< CudaDeviceInfo > | cudaDeviceInfo | 
| CUDA device information.  | |
| thrust::host_vector< int4 > | referenceArray | 
| phases in the array of SPH particles  | |
| thrust::host_vector< int4 > | referenceArray_FEA | 
| phases in the array of SPH particles for flexible elements  | |
| thrust::device_vector< Real4 > | derivVelRhoD | 
| dv/dt and d(rho)/dt for particles  | |
| thrust::device_vector< Real4 > | derivVelRhoOriginalD | 
| dv/dt and d(rho)/dt used for writing partilces in file - unsorted  | |
| thrust::device_vector< Real3 > | derivTauXxYyZzD | 
| d(tau)/dt for particles  | |
| thrust::device_vector< Real3 > | derivTauXyXzYzD | 
| d(tau)/dt for particles  | |
| thrust::device_vector< Real3 > | vel_XSPH_D | 
| XSPH velocity for particles.  | |
| thrust::device_vector< Real3 > | vis_vel_SPH_D | 
| ISPH velocity for particles.  | |
| thrust::device_vector< Real4 > | sr_tau_I_mu_i | 
| I2SPH strain-rate, stress, inertia number, friction.  | |
| thrust::device_vector< Real4 > | sr_tau_I_mu_i_Original | 
| I2SPH strain-rate, stress, inertia number, friction - unsorted for writing.  | |
| thrust::device_vector< Real3 > | bceAcc | 
| Acceleration for boundary/rigid/flex body particles.  | |
| thrust::device_vector< uint > | activityIdentifierD | 
| Identifies if a particle is an active particle or not.  | |
| thrust::device_vector< uint > | extendedActivityIdD | 
| Identifies if a particle is in an extended active domain.  | |
| thrust::device_vector< uint > | numNeighborsPerPart | 
| Stores the number of neighbors the particle, given by the index, has.  | |
| thrust::device_vector< uint > | neighborList | 
| Stores the neighbor list - all neighbors are just stored one by one.  More... | |
| thrust::device_vector< uint > | freeSurfaceIdD | 
| Identifies if a particle is close to free surface.  | |
| thrust::device_vector< Real3 > | rigid_BCEcoords_D | 
| rigid body BCE position (local reference frame)  | |
| thrust::host_vector< Real3 > | flex1D_BCEcoords_H | 
| local coords for BCE markers on 1-D flex segments (host)  | |
| thrust::device_vector< Real3 > | flex1D_BCEcoords_D | 
| local coords for BCE markers on 1-D flex segments (device)  | |
| thrust::host_vector< Real3 > | flex2D_BCEcoords_H | 
| local coords for BCE markers on 2-D flex faces (host)  | |
| thrust::device_vector< Real3 > | flex2D_BCEcoords_D | 
| local coors for BCE markers on 2-D flex faces (device)  | |
| thrust::device_vector< uint > | rigid_BCEsolids_D | 
| associated body ID for BCE markers on rigid bodies  | |
| thrust::host_vector< uint3 > | flex1D_BCEsolids_H | 
| associated mesh and segment for BCE markers on 1-D segments  | |
| thrust::device_vector< uint3 > | flex1D_BCEsolids_D | 
| associated mesh and segment for BCE markers on 1-D segments  | |
| thrust::host_vector< uint3 > | flex2D_BCEsolids_H | 
| associated mesh and face for BCE markers on 2-D faces  | |
| thrust::device_vector< uint3 > | flex2D_BCEsolids_D | 
| associated mesh and face for BCE markers on 2-D faces  | |
| thrust::device_vector< Real3 > | rigid_FSI_ForcesD | 
| surface-integrated forces to rigid bodies  | |
| thrust::device_vector< Real3 > | rigid_FSI_TorquesD | 
| surface-integrated torques to rigid bodies  | |
| thrust::device_vector< Real3 > | flex1D_FSIforces_D | 
| surface-integrated forces on FEA 1-D segment nodes  | |
| thrust::device_vector< Real3 > | flex2D_FSIforces_D | 
| surface-integrated forces on FEA 2-D face nodes  | |
| thrust::host_vector< int2 > | flex1D_Nodes_H | 
| node indices for each 1-D flex segment (host)  | |
| thrust::device_vector< int2 > | flex1D_Nodes_D | 
| node indices for each 1-D flex segment (device)  | |
| thrust::host_vector< int3 > | flex2D_Nodes_H | 
| node indices for each 2-D flex face (host)  | |
| thrust::device_vector< int3 > | flex2D_Nodes_D | 
| node indices for each 2-D flex face (device)  | |
Friends | |
| class | chrono::fsi::ChFluidSystemSPH | 
Member Function Documentation
◆ GetProperties()
| std::vector<Real3> chrono::fsi::sph::FsiDataManager::GetProperties | ( | ) | 
Extract fluid properties of all markers (SPH and BCE).
For each SPH particle, the 3-dimensional vector contains density, pressure, and viscosity.
◆ Initialize()
| void chrono::fsi::sph::FsiDataManager::Initialize | ( | unsigned int | num_fsi_bodies, | 
| unsigned int | num_fsi_nodes1D, | ||
| unsigned int | num_fsi_elements1D, | ||
| unsigned int | num_fsi_nodes2D, | ||
| unsigned int | num_fsi_elements2D | ||
| ) | 
Initialize the underlying FSU system.
Set reference arrays, set counters, and resize simulation arrays.
Member Data Documentation
◆ neighborList
| thrust::device_vector<uint> chrono::fsi::sph::FsiDataManager::neighborList | 
Stores the neighbor list - all neighbors are just stored one by one.
- The above vector provides the info required to idenitfy which particles neighbors are stored at which index of neighborList
 
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono_fsi/sph/physics/FsiDataManager.cuh