Base class for processing boundary condition enforcing (BCE) marker forces in an FSI system.

This class handles the Fluid-Solid Interaction by enforcing i) forces from the fluid dynamics system to the MBD system and ii) displacement from the MBD system to the fluid dynamics system.

Inherits chrono::fsi::ChFsiGeneral.

Public Member Functions

 ChBce (SphMarkerDataD *sortedSphMarkersD, ProximityDataD *markersProximityD, FsiGeneralData *otherFsiGeneralData, SimParams *otherParamsH, NumberOfObjects *otherNumObjects)
 Constructor of the ChBce. More...
 ~ChBce ()
 Destructor of the ChBce.
virtual void UpdateRigidMarkersPositionVelocity (SphMarkerDataD *sphMarkersD, FsiBodiesDataD *fsiBodiesD)
 Updates the position and velocity of the markers on the rigid bodies based on the state of the body.
virtual void Rigid_Forces_Torques (SphMarkerDataD *sphMarkersD, FsiBodiesDataD *fsiBodiesD)
 Calculates the forces from the fluid dynamics system to the fsi system on rigid bodies.
void ModifyBceVelocity (SphMarkerDataD *sphMarkersD, FsiBodiesDataD *fsiBodiesD)
virtual void Populate_RigidSPH_MeshPos_LRF (SphMarkerDataD *sphMarkersD, FsiBodiesDataD *fsiBodiesD)
 Populates the BCE markers on the rigid bodies at the initial configuration of the system. More...
virtual void Finalize (SphMarkerDataD *sphMarkersD, FsiBodiesDataD *fsiBodiesD)
 Finalizes the construction of the ChBce at the intial configuration of the system.

Public Attributes

thrust::device_vector< Real3 > velMas_ModifiedBCE
thrust::device_vector< Real4 > rhoPreMu_ModifiedBCE

Constructor & Destructor Documentation

chrono::fsi::ChBce::ChBce ( SphMarkerDataD sortedSphMarkersD,
ProximityDataD markersProximityD,
FsiGeneralData otherFsiGeneralData,
SimParams otherParamsH,
NumberOfObjects otherNumObjects 

Constructor of the ChBce.

sortedSphMarkersDHolds the position, velocity, denisty, pressure, viscousity and types of the SPH markers
markersProximityDHolds the information for the neighbor search and mapping from the sorted variables to an unsorted ones
otherFsiGeneralDataSome general information, e.g, ordering of the phases.
otherParamsHParameter of the simulation
otherNumObjectsHolds the number of sph markers on each phase

Member Function Documentation

virtual void chrono::fsi::ChBce::Populate_RigidSPH_MeshPos_LRF ( SphMarkerDataD sphMarkersD,
FsiBodiesDataD fsiBodiesD 

Populates the BCE markers on the rigid bodies at the initial configuration of the system.

The local coordinates w.r.t to the coordinate system of the rigid body is saved and is used during the update stage. In such a condition the position and orientation of the body is enough to update the position of all the markers attached to it.