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 &other_mphysicalSystem, std::shared_ptr< fea::ChMesh > other_fsiMesh, std::shared_ptr< SimParams > other_paramsH, std::shared_ptr< FsiBodiesDataH > other_fsiBodiesH, std::shared_ptr< FsiMeshDataH > other_fsiMeshH, std::vector< std::shared_ptr< ChBody >> &other_fsiBodies, std::vector< std::shared_ptr< fea::ChNodeFEAxyzD >> &other_fsiNodes, std::vector< std::shared_ptr< fea::ChElementCableANCF >> &other_fsiCables, std::vector< std::shared_ptr< fea::ChElementShellANCF_3423 >> &other_fsiShells, thrust::host_vector< int2 > &other_CableElementsNodesH, thrust::device_vector< int2 > &other_CableElementsNodes, thrust::host_vector< int4 > &other_ShellElementsNodesH, thrust::device_vector< int4 > &other_ShellElementsNodes, thrust::device_vector< Real3 > &other_rigid_FSI_ForcesD, thrust::device_vector< Real3 > &other_rigid_FSI_TorquesD, thrust::device_vector< Real3 > &other_Flex_FSI_ForcesD)
 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_FluidSystem (std::shared_ptr< FsiBodiesDataD > fsiBodiesD)
 Copy the ChSystem rigid bodies from CPU to GPU.
 
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 ResizeChronoNodesData ()
 Resize number of nodes used in the flexible elements.
 
void ResizeChronoCablesData (std::vector< std::vector< int >> CableElementsNodesSTDVector, thrust::host_vector< int2 > &CableElementsNodesH)
 Resize number of cable elements used in the flexible elements.
 
void ResizeChronoShellsData (std::vector< std::vector< int >> ShellElementsNodesSTDVector, thrust::host_vector< int4 > &ShellElementsNodesH)
 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_FluidSystem (std::shared_ptr< FsiMeshDataD > FsiMeshD)
 Copy the nodes information in ChSystem from CPU to GPU.
 
- Public Member Functions inherited from chrono::fsi::ChFsiGeneral
 ChFsiGeneral (std::shared_ptr< SimParams > hostParams, std::shared_ptr< NumberOfObjects > 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...
 

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/ChFsiInterface.h
  • /builds/uwsbel/chrono/src/chrono_fsi/ChFsiInterface.cpp