chrono::fsi::ChFsiInterface Class Reference

Description

Base class for processing the interface between Chrono and FSI modules.

#include <ChFsiInterface.h>

Inheritance diagram for chrono::fsi::ChFsiInterface:
Collaboration diagram for chrono::fsi::ChFsiInterface:

Public Member Functions

 ChFsiInterface (ChSystem &mbs, ChSystemFsi_impl &fsi, std::shared_ptr< SimParams > params, std::shared_ptr< fea::ChMesh > &mesh, std::vector< std::shared_ptr< ChBody >> &bodies, std::vector< std::shared_ptr< fea::ChNodeFEAxyzD >> &nodes, std::vector< std::shared_ptr< fea::ChElementCableANCF >> &cables, std::vector< std::shared_ptr< fea::ChElementShellANCF_3423 >> &shells)
 Constructor of the FSI interface class.
 
 ~ChFsiInterface ()
 Destructor of the FSI interface class.
 
void Add_Rigid_ForceTorques_To_ChSystem ()
 Read the surface-integrated pressure and viscous forces form the fluid/granular dynamics system, and add these forces and torques as external forces to the ChSystem rigid bodies.
 
void Copy_External_To_ChSystem ()
 Use an external configuration to set the generalized coordinates of the ChSystem.
 
void Copy_ChSystem_to_External ()
 Use the generalized coordinates of the ChSystem to set the configuration state in the FSI system.
 
void Copy_FsiBodies_ChSystem_to_FsiSystem (std::shared_ptr< FsiBodiesDataD > fsiBodiesD)
 Copy rigid bodies' information from ChSystem to FsiSystem, then to the GPU memory.
 
void ResizeChronoBodiesData ()
 Resize the number of ChSystem rigid bodies.
 
void SetFsiMesh (std::shared_ptr< fea::ChMesh > other_fsi_mesh)
 Set the FSI mesh for flexible elements.
 
void Add_Flex_Forces_To_ChSystem ()
 Add forces and torques as external forces to the ChSystem flexible bodies.
 
void ResizeChronoCablesData (const std::vector< std::vector< int >> &CableElementsNodesSTDVector)
 Resize number of cable elements used in the flexible elements.
 
void ResizeChronoShellsData (const std::vector< std::vector< int >> &ShellElementsNodesSTDVector)
 Resize number of shell elements used in the flexible elements.
 
void ResizeChronoFEANodesData ()
 Resize number of nodes used in the flexible elements.
 
void Copy_FsiNodes_ChSystem_to_FsiSystem (std::shared_ptr< FsiMeshDataD > FsiMeshD)
 Copy flexible nodes' information from ChSystem to FsiSystem, then to the GPU memory.
 
- Public Member Functions inherited from chrono::fsi::ChFsiGeneral
 ChFsiGeneral (std::shared_ptr< SimParams > hostParams, std::shared_ptr< ChCounters > hostNumObjects)
 Constructor for the ChFsiGeneral class. More...
 
virtual ~ChFsiGeneral ()
 Destructor of the ChFsiGeneral class.
 
void computeGridSize (uint n, uint blockSize, uint &numBlocks, uint &numThreads)
 Compute number of blocks and threads for calculation on GPU. More...
 

Friends

class ChSystemFsi
 

Additional Inherited Members

- Protected Member Functions inherited from chrono::fsi::ChFsiGeneral
uint iDivUp (uint a, uint b)
 Return a/b or a/b + 1.
 

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_fsi/physics/ChFsiInterface.h
  • /builds/uwsbel/chrono/src/chrono_fsi/physics/ChFsiInterface.cpp