chrono::fsi::ChSystemFsi Class Reference

Description

Physical system for fluid-solid interaction problem.

This class is used to represent a fluid-solid 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 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 Runge-Kutta 2nd order integration scheme
 
virtual void CopyDeviceDataToHalfStep ()
 function to initialize the midpoint device data of the fluid system by copying from the full step
 
virtual void FinalizeData ()
 Function to fill out the dependent data based on the independent one. More...
 
ChFsiDataManager * GetDataManager ()
 function to return the pointer to the data manager
 
SimParams * GetSimParams ()
 function to return the pointer to the data
 
std::vector< std::shared_ptr
< ChBody > > * 
GetFsiBodiesPtr ()
 function to return the pointer to the fsi bodies. More...
 
void InitializeChronoGraphics (chrono::ChVector<> CameraLocation=chrono::ChVector<>(1, 0, 0), chrono::ChVector<> CameraLookAt=chrono::ChVector<>(0, 0, 0))
 Initialize the graphics interface of the chrono system.
 
virtual void Finalize ()
 Finzalize data by calling FinalizeData function and finalize fluid and bce objects if the system have fluid. 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 sub-classes have pointers to the same data

Member Function Documentation

void chrono::fsi::ChSystemFsi::DoStepDynamics_FSI ( )
virtual

function to integrate the fsi system in time.

It uses a Runge-Kutta 2nd order algorithm to update both the fluid and multibody system dynamics. The midpoint data of MBS is needed for fluid dynamics update.

void chrono::fsi::ChSystemFsi::Finalize ( )
virtual

Finzalize data by calling FinalizeData function and finalize fluid and bce objects if the system have fluid.

void chrono::fsi::ChSystemFsi::FinalizeData ( )
virtual

Function to 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 ( )

function to return the pointer to the fsi bodies.

The pointer to all fsi bodies, i.e. the bodies with two representation in fluid and multibody systems, are stored in a vector.