chrono::fsi::ChFsiSystemSPH Class Reference

Description

FSI system using an SPH-based fluid solver.

#include <ChFsiSystemSPH.h>

Inheritance diagram for chrono::fsi::ChFsiSystemSPH:
Collaboration diagram for chrono::fsi::ChFsiSystemSPH:

Public Member Functions

 ChFsiSystemSPH (ChSystem &sysMBS, ChFluidSystemSPH &sysSPH, bool use_generic_interface=false)
 Construct an FSI system to couple the specified Chrono MBS system and SPH fluid system. More...
 
ChFluidSystemSPHGetFluidSystemSPH () const
 Access the associated SPH fluid system.
 
- Public Member Functions inherited from chrono::fsi::ChFsiSystem
virtual ~ChFsiSystem ()
 Destructor for the FSI system.
 
ChFluidSystemGetFluidSystem () const
 Access the associated fluid system.
 
ChSystemGetMultibodySystem () const
 Access the associated multibody system.
 
ChFsiInterfaceGetFsiInterface () const
 Access the associated FSI interface.
 
void SetVerbose (bool verbose)
 Enable/disable verbose terminal output (default: true). More...
 
void SetGravitationalAcceleration (const ChVector3d &gravity)
 Set gravitational acceleration for the FSI syatem. More...
 
void SetStepSizeCFD (double step)
 Set integration step size for fluid dynamics.
 
void SetStepsizeMBD (double step)
 Set integration step size for multibody dynamics. More...
 
size_t AddFsiBody (std::shared_ptr< ChBody > body)
 Add a rigid body to the FSI system. More...
 
void AddFsiMesh (std::shared_ptr< fea::ChMesh > mesh)
 Add an FEA mesh to the FSI system. More...
 
virtual void Initialize ()
 Initialize the FSI system. More...
 
void DoStepDynamics (double step)
 Function to advance the FSI system combined state. More...
 
double GetSimTime () const
 Get current simulation time.
 
double GetStepSizeMBD () const
 Get the integration step size for multibody dynamics.
 
double GetStepSizeCFD () const
 Get the integration step size for fluid dynamics.
 
double GetRtf () const
 Get current estimated RTF (real time factor) for the coupled problem.
 
double GetRtfCFD () const
 Get current estimated RTF (real time factor) for the fluid system.
 
double GetRtfMBS () const
 Get current estimated RTF (real time factor) for the multibody system.
 
double GetRatioMBS () const
 Get ratio of simulation time spent in MBS integration.
 
double GetTimerStep () const
 Return the time in seconds for for simulating the last step.
 
double GetTimerCFD () const
 Return the time in seconds for fluid dynamics over the last step.
 
double GetTimerMBS () const
 Return the time in seconds for multibody dynamics over the last step.
 
double GetTimerFSI () const
 Return the time in seconds for data exchange between phases over the last step.
 
const ChVector3dGetFsiBodyForce (size_t i) const
 Return the FSI applied force on the body with specified index (as returned by AddFsiBody). More...
 
const ChVector3dGetFsiBodyTorque (size_t i) const
 Return the FSI applied torque on the body with specified index (as returned by AddFsiBody). More...
 

Additional Inherited Members

- Protected Member Functions inherited from chrono::fsi::ChFsiSystem
 ChFsiSystem (ChSystem &sysMBS, ChFluidSystem &sysCFD)
 
- Protected Attributes inherited from chrono::fsi::ChFsiSystem
ChSystemm_sysMBS
 multibody system
 
ChFluidSystemm_sysCFD
 FSI fluid solver.
 
std::shared_ptr< ChFsiInterfacem_fsi_interface
 FSI interface system.
 
bool m_verbose
 enable/disable m_verbose terminal output
 
bool m_is_initialized
 set to true once the Initialize function is called
 

Constructor & Destructor Documentation

◆ ChFsiSystemSPH()

chrono::fsi::ChFsiSystemSPH::ChFsiSystemSPH ( ChSystem sysMBS,
ChFluidSystemSPH sysSPH,
bool  use_generic_interface = false 
)

Construct an FSI system to couple the specified Chrono MBS system and SPH fluid system.

Data exchange between the tow systems is done through an FSI interface object, owned by the FSI system. If 'use_generic_interface = true', the FSI system will use a generic FSI interface. Otherwise (default), use a custom FSI interface which works directly with the data manager of the SPH fluid solver and thus circumvents additional data movement.


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