chrono::fsi::sph::BceManager Class Reference

Description

Manager for processing boundary condition enforcing (BCE) particle forces in an FSI system.

This class handles the Fluid-Solid Interaction by enforcing:

  • forces from the fluid/granular dynamics system to the MBD system
  • displacements from the MBD system to the fluid dynamics system

Public Member Functions

 BceManager (FsiDataManager &data_mgr, bool use_node_directions, bool verbose, bool check_errors)
 
void UpdateBodyMarkerState ()
 
void UpdateBodyMarkerStateInitial ()
 
void CalcNodeDirections1D (thrust::device_vector< Real3 > &dirs)
 
void UpdateMeshMarker1DState ()
 
void UpdateMeshMarker1DStateInitial ()
 
void CalcNodeDirections2D (thrust::device_vector< Real3 > &dirs)
 
void UpdateMeshMarker2DState ()
 
void UpdateMeshMarker2DStateInitial ()
 
void Rigid_Forces_Torques ()
 Calculate fluid forces on rigid bodies.
 
void Flex1D_Forces ()
 Calculates fluid forces on nodes of 1-D flexible solids.
 
void Flex2D_Forces ()
 Calculates fluid forces on nodes of 2-D flexible solids.
 
void updateBCEAcc ()
 
void Populate_RigidSPH_MeshPos_LRF (std::vector< int > fsiBodyBceNum)
 Populate the BCE markers on the rigid bodies at the initial configuration of the system. More...
 
void Initialize (std::vector< int > fsiBodyBceNum)
 Complete construction of the BCE at the intial configuration of the system.
 

Constructor & Destructor Documentation

◆ BceManager()

chrono::fsi::sph::BceManager::BceManager ( FsiDataManager data_mgr,
bool  use_node_directions,
bool  verbose,
bool  check_errors 
)
Parameters
data_mgrFSI data
use_node_directionsuse higher-order interpolation for flex solid BCEs
verboseverbose terminal output
check_errorscheck CUDA errors

Member Function Documentation

◆ Populate_RigidSPH_MeshPos_LRF()

void chrono::fsi::sph::BceManager::Populate_RigidSPH_MeshPos_LRF ( std::vector< int >  fsiBodyBceNum)

Populate 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 bodies 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 particles attached to it.


The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_fsi/sph/physics/BceManager.cuh