chrono::fsi::tdpf::ChFsiFluidSystemTDPF Class Reference

Description

Physical system for an FSI-aware TDPF fluid solver.

#include <ChFsiFluidSystemTDPF.h>

Inheritance diagram for chrono::fsi::tdpf::ChFsiFluidSystemTDPF:
Collaboration diagram for chrono::fsi::tdpf::ChFsiFluidSystemTDPF:

Public Member Functions

void SetHydroFilename (const std::string &filename)
 Set input file name with hydro data (HDF5 format).
 
virtual void SetGravitationalAcceleration (const ChVector3d &gravity) override
 Set gravity for the FSI system.
 
ChVector3d GetGravitationalAcceleration () const
 Return gravitational acceleration.
 
void SetRadiationConvolutionMode (hydrochrono::hydro::RadiationConvolutionMode mode)
 
void SetTaperedDirectOptions (const hydrochrono::hydro::TaperedDirectOptions &opts)
 
void AddWaves (const RegularWaveParams &params)
 Add regular wave conditions. More...
 
void AddWaves (const IrregularWaveParams &params)
 Add irregular wave conditions. More...
 
double GetWaveElevation (const ChVector3d &pos)
 Get current wave elevation at specified position (in X-Y plane).
 
ChVector3d GetWaveVelocity (const ChVector3d &pos)
 Get current wave velocity at specified position (in X-Y plane).
 
ChVector3d GetWaveVelocity (const ChVector3d &pos, double elevation)
 Get current wave velocity at specified position (in X-Y plane).
 
virtual void LoadSolidStates (const std::vector< FsiBodyState > &body_states) override
 Load the given body and mesh node states in the TDPF data manager structures. More...
 
virtual void StoreSolidForces (std::vector< FsiBodyForce > &body_forces) override
 Store the body and mesh node forces from the TDPF data manager to the given vectors. More...
 
virtual void OnDoStepDynamics (double time, double step) override
 Function to integrate the fluid system from time to time + step.
 
virtual void OnExchangeSolidForces () override
 Additional actions taken before applying fluid forces to the solid phase.
 
virtual void OnExchangeSolidStates () override
 Additional actions taken after loading new solid phase states.
 
- Public Member Functions inherited from chrono::fsi::ChFsiFluidSystem
void SetVerbose (bool verbose)
 Enable/disable verbose terminal output (default: true).
 
void SetStepSize (double step)
 Set integration step size.
 
void Initialize ()
 Initialize the fluid system with no FSI support.
 
void DoStepDynamics (double step)
 Function to integrate the FSI fluid system in time.
 
double GetSimTime () const
 Get current simulation time.
 
double GetStepSize () const
 Get the default constant integration step size.
 
double GetRtf () const
 Get current estimated RTF (real time factor).
 
double GetTimerStep () const
 Return the time in seconds for fluid dynamics over the last step.
 
virtual double GetCurrentStepSize ()
 Get the current step size. More...
 

Friends

class ChFsiSystemTDPF
 
class ChFsiInterfaceTDPF
 
class FSITDPFStatsVSG
 

Additional Inherited Members

- Protected Attributes inherited from chrono::fsi::ChFsiFluidSystem
bool m_verbose
 enable/disable m_verbose terminal output
 
std::string m_outdir
 output directory
 
NodeDirectionsMode m_node_directions_mode
 mode used for FEA node directions
 
bool m_is_initialized
 set to true once the Initialize function is called
 
double m_time
 current simulation time
 
double m_step
 time step for fluid dynamics
 
unsigned int m_frame
 current simulation frame
 

Member Function Documentation

◆ AddWaves() [1/2]

void chrono::fsi::tdpf::ChFsiFluidSystemTDPF::AddWaves ( const IrregularWaveParams &  params)

Add irregular wave conditions.

Note that the number of bodies is overwritten during initialization.

◆ AddWaves() [2/2]

void chrono::fsi::tdpf::ChFsiFluidSystemTDPF::AddWaves ( const RegularWaveParams &  params)

Add regular wave conditions.

Note that the number of bodies is overwritten during initialization.

◆ LoadSolidStates()

void chrono::fsi::tdpf::ChFsiFluidSystemTDPF::LoadSolidStates ( const std::vector< FsiBodyState > &  body_states)
overridevirtual

Load the given body and mesh node states in the TDPF data manager structures.

This function converts FEA mesh states from the provided AOS records to the SOA layout used by the TDPF data manager. LoadSolidStates is always called once during initialization. If the TDPF fluid solver is paired with the generic FSI interface, LoadSolidStates is also called from ChFsiInterfaceGeneric::ExchangeSolidStates at each co-simulation data exchange. If using a custom TDPF FSI interface, MBS states are copied directly...

Implements chrono::fsi::ChFsiFluidSystem.

◆ StoreSolidForces()

void chrono::fsi::tdpf::ChFsiFluidSystemTDPF::StoreSolidForces ( std::vector< FsiBodyForce > &  body_forces)
overridevirtual

Store the body and mesh node forces from the TDPF data manager to the given vectors.

If the TDPF fluid solver is paired with the generic FSI interface, StoreSolidForces is called from ChFsiInterfaceGeneric::ExchangeSolidForces at each co-simulation data exchange. If using a custom TDPF FSI interface, MBS forces are copied directly...

Implements chrono::fsi::ChFsiFluidSystem.


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