Description
Physical system for fluidsolid interaction problem.
This class is used to represent a fluidsolid interaction problem consist of fluid dynamics and multibody system. Each of the two underlying physics are independent objects owned and instantiated by this class. Additionally, the fsi system owns other objects to handle the interface between the two systems, boundary condition enforcing markers, and data.
#include <ChSystemFsi.h>
Inherits chrono::fsi::ChFsiGeneral.
Public Member Functions  
ChSystemFsi (ChSystem *other_physicalSystem, bool other_haveFluid)  
Constructor for FSI system. More...  
~ChSystemFsi ()  
Destructor for the FSI system.  
virtual void  DoStepDynamics_FSI () 
Function to integrate the fsi system in time. More...  
virtual void  DoStepDynamics_ChronoRK2 () 
Function to integrate the multibody system dynamics based on RungeKutta 2ndorder integration scheme. More...  
virtual void  CopyDeviceDataToHalfStep () 
Function to initialize the midpoint device data of the fluid system by copying from the full step.  
virtual void  FinalizeData () 
Fill out the dependent data based on the independent one. More...  
ChFsiDataManager *  GetDataManager () 
Get a pointer to the data manager.  
SimParams *  GetSimParams () 
Get a pointer to the parameters used to set up the simulation.  
std::vector< std::shared_ptr< ChBody > > *  GetFsiBodiesPtr () 
Get a pointer to the fsi bodies. More...  
virtual void  Finalize () 
Finalize the construction of the fsi system. More...  
Constructor & Destructor Documentation
chrono::fsi::ChSystemFsi::ChSystemFsi  (  ChSystem *  other_physicalSystem, 
bool  other_haveFluid  
) 
Constructor for FSI system.
This class constructor instantiates all the member objects. Wherever relevant, the instantiation is handled by sending a pointer to other objects or data. Therefore, the subclasses have pointers to the same data.
Member Function Documentation

virtual 
Function to integrate the multibody system dynamics based on RungeKutta 2ndorder integration scheme.

virtual 
Function to integrate the fsi system in time.
It uses a RungeKutta 2nd order algorithm to update both the fluid and multibody system dynamics. The midpoint data of MBS is needed for fluid dynamics update.

virtual 
Finalize the construction of the fsi system.
This function must be called when the fsi system is constructed, before the simulation starts. This function calls FinalizeData function and also finalizes the fluid and bce objects if the system have fluid.

virtual 
Fill out the dependent data based on the independent one.
For instance, it copies the position of the rigid bodies from the multibody dynamics system to arrays in fsi system since they are needed for internal use.
std::vector<std::shared_ptr<ChBody> >* chrono::fsi::ChSystemFsi::GetFsiBodiesPtr  (  ) 
Get a pointer to the fsi bodies.
fsi bodies are the ones seen by the fluid dynamics system. These ChBodies are stored in a std::vector using their shared pointers.