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