Description
Base class for an FSI-aware fluid solver.
#include <ChFsiFluidSystem.h>

Public Member Functions | |
| void | SetVerbose (bool verbose) |
| Enable/disable verbose terminal output (default: true). | |
| virtual void | SetGravitationalAcceleration (const ChVector3d &gravity)=0 |
| Set gravity for the fluid system. | |
| void | SetStepSize (double step) |
| Set integration step size. | |
| virtual 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 void | OnDoStepDynamics (double time, double step)=0 |
Function to integrate the FSI fluid system from time to time + step. | |
| virtual void | OnExchangeSolidForces ()=0 |
| Additional actions taken before applying fluid forces to the solid phase. | |
| virtual void | OnExchangeSolidStates ()=0 |
| Additional actions taken after loading new solid phase states. | |
| virtual void | LoadSolidStates (const std::vector< FsiBodyState > &body_states)=0 |
| Load FSI body and mesh node states from the given vectors. More... | |
| virtual void | StoreSolidForces (std::vector< FsiBodyForce > &body_forces)=0 |
| Store the body and mesh node forces to the given vectors. More... | |
| virtual double | GetCurrentStepSize () |
| Get the current step size. More... | |
Protected Member Functions | |
| virtual void | OnAddFsiBody (std::shared_ptr< FsiBody > fsi_body, bool check_embedded) |
| Solver-specific actions taken when a rigid solid is added as an FSI object. | |
| virtual void | Initialize (const std::vector< FsiBodyState > &body_states)=0 |
| Initialize the fluid system using initial states of solid FSI objects. More... | |
Protected Attributes | |
| 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 | |
Friends | |
| class | ChFsiSystem |
| class | ChFsiInterface |
Member Function Documentation
◆ GetCurrentStepSize()
|
inlinevirtual |
Get the current step size.
The default implementation returns the specified constant step size. A derived class may use a variable step size, in which case it must override this function.
Reimplemented in chrono::fsi::sph::ChFsiFluidSystemSPH.
◆ Initialize()
|
protectedpure virtual |
Initialize the fluid system using initial states of solid FSI objects.
A call to this function marks completion of the fluid system construction and can only be made from ChFsiSystem.
◆ LoadSolidStates()
|
pure virtual |
Load FSI body and mesh node states from the given vectors.
The functions LoadSolidStates and StoreSolidForces allow using a generic FSI interface. However, a concrete fluid system can be paired with a corresponding FSI interface, both of which work on the same data structures; in that case, the custom FSI interface need not use the mechanism provided by LoadSolidStates and StoreSolidForces (which incur the cost of additional data copies).
Implemented in chrono::fsi::sph::ChFsiFluidSystemSPH.
◆ StoreSolidForces()
|
pure virtual |
Store the body and mesh node forces to the given vectors.
The functions LoadSolidStates and StoreSolidForces allow using a generic FSI interface. However, a concrete fluid system can be paired with a corresponding FSI interface, both of which work on the same data structures; in that case, the custom FSI interface need not use the mechanism provided by LoadSolidStates and StoreSolidForces (which incur the cost of additional data copies).
Implemented in chrono::fsi::sph::ChFsiFluidSystemSPH.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_fsi/ChFsiFluidSystem.h
- /builds/uwsbel/chrono/src/chrono_fsi/ChFsiFluidSystem.cpp