Description
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 (std::shared_ptr< SphMarkerDataD > otherSortedSphMarkersD, std::shared_ptr< ProximityDataD > otherMarkersProximityD, std::shared_ptr< FsiGeneralData > otherFsiGeneralData, std::shared_ptr< SimParams > otherParamsH, std::shared_ptr< NumberOfObjects > otherNumObjects) | |
Constructor of the ChBce. More... | |
virtual | ~ChBce () |
Destructor of the ChBce. | |
virtual void | UpdateRigidMarkersPositionVelocity (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiBodiesDataD > fsiBodiesD) |
Updates the position and velocity of the markers on the rigid bodies based on the state of the body. | |
virtual void | UpdateFlexMarkersPositionVelocity (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiMeshDataD > fsiMeshD) |
virtual void | Rigid_Forces_Torques (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiBodiesDataD > fsiBodiesD) |
Calculates the forces from the fluid dynamics system to the fsi system on rigid bodies. | |
virtual void | Flex_Forces (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiMeshDataD > fsiMeshD) |
Calculates the forces from the fluid dynamics system to the fsi system on flexible bodies. | |
void | ModifyBceVelocity (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiBodiesDataD > fsiBodiesD) |
virtual void | Populate_RigidSPH_MeshPos_LRF (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiBodiesDataD > fsiBodiesD) |
Populates the BCE markers on the rigid bodies at the initial configuration of the system. More... | |
virtual void | Populate_FlexSPH_MeshPos_LRF (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiMeshDataD > fsiMeshD) |
Populates the BCE markers on the flexible bodies at the initial configuration of the system. More... | |
virtual void | Finalize (std::shared_ptr< SphMarkerDataD > sphMarkersD, std::shared_ptr< FsiBodiesDataD > fsiBodiesD, std::shared_ptr< FsiMeshDataD > fsiMeshD) |
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
◆ ChBce()
chrono::fsi::ChBce::ChBce | ( | std::shared_ptr< SphMarkerDataD > | otherSortedSphMarkersD, |
std::shared_ptr< ProximityDataD > | otherMarkersProximityD, | ||
std::shared_ptr< FsiGeneralData > | otherFsiGeneralData, | ||
std::shared_ptr< SimParams > | otherParamsH, | ||
std::shared_ptr< NumberOfObjects > | otherNumObjects | ||
) |
Constructor of the ChBce.
- Parameters
-
otherSortedSphMarkersD Holds the position, velocity, denisty, pressure, viscousity and types of the SPH markers otherMarkersProximityD Holds the information for the neighbor search and mapping from the sorted variables to an unsorted ones otherFsiGeneralData Some general information, e.g, ordering of the phases. otherParamsH Parameter of the simulation otherNumObjects Holds the number of sph markers on each phase
Member Function Documentation
◆ Populate_FlexSPH_MeshPos_LRF()
|
virtual |
Populates the BCE markers on the flexible 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.
◆ Populate_RigidSPH_MeshPos_LRF()
|
virtual |
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.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono_fsi/physics/ChBce.cuh