Public Member Functions | Private Member Functions | Private Attributes | List of all members
TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT > Class Template Reference

Problem class. More...

Inheritance diagram for TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >:

Public Member Functions

 TurekProblem (const double &length, const double &height)
 Constructor: Pass length and height of domain. More...
 
RefineableAlgebraicCylinderWithFlagMesh< FLUID_ELEMENT > * fluid_mesh_pt ()
 Access function for the fluid mesh. More...
 
ElasticRefineableRectangularQuadMesh< SOLID_ELEMENT > *& solid_mesh_pt ()
 Access function for the solid mesh. More...
 
SolidMesh *& traction_mesh_pt (const unsigned &i)
 Access function for the i-th mesh of FSI traction elements. More...
 
void actions_after_adapt ()
 Actions after adapt: Re-setup the fsi lookup scheme. More...
 
void doc_solution (DocInfo &doc_info, ofstream &trace_file)
 Doc the solution. More...
 
void actions_after_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_solve ()
 Update function (empty) More...
 
void actions_before_newton_convergence_check ()
 Update the (enslaved) fluid node positions following the update of the solid variables before performing Newton convergence check. More...
 
void actions_before_implicit_timestep ()
 Update the time-dependent influx. More...
 

Private Member Functions

void create_fsi_traction_elements ()
 Create FSI traction elements. More...
 

Private Attributes

ElasticRefineableRectangularQuadMesh< SOLID_ELEMENT > * Solid_mesh_pt
 Pointer to solid mesh. More...
 
RefineableAlgebraicCylinderWithFlagMesh< FLUID_ELEMENT > * Fluid_mesh_pt
 Pointer to fluid mesh. More...
 
Vector< SolidMesh * > Traction_mesh_pt
 Vector of pointers to mesh of FSI traction elements. More...
 
SolidMesh * Combined_traction_mesh_pt
 Combined mesh of traction elements – only used for documentation. More...
 
double Domain_height
 Overall height of domain. More...
 
double Domain_length
 Overall length of domain. More...
 
Node * Solid_control_node_pt
 Pointer to solid control node. More...
 
Node * Fluid_control_node_pt
 Pointer to fluid control node. More...
 

Detailed Description

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
class TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >

Problem class.

Definition at line 374 of file turek_flag.cc.

Constructor & Destructor Documentation

◆ TurekProblem()

template<class FLUID_ELEMENT , class SOLID_ELEMENT >
TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem ( const double &  length,
const double &  height 
)

Member Function Documentation

◆ actions_after_adapt()

template<class FLUID_ELEMENT , class SOLID_ELEMENT >
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt ( )

◆ actions_after_newton_solve()

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_newton_solve ( )
inline

Update function (empty)

Definition at line 401 of file turek_flag.cc.

◆ actions_before_implicit_timestep()

template<class FLUID_ELEMENT , class SOLID_ELEMENT >
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep ( )

◆ actions_before_newton_convergence_check()

template<class FLUID_ELEMENT , class SOLID_ELEMENT >
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_newton_convergence_check ( )

Update the (enslaved) fluid node positions following the update of the solid variables before performing Newton convergence check.

Update the (enslaved) fluid node positions following the update of the solid variables

Definition at line 861 of file turek_flag.cc.

References TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::fluid_mesh_pt().

Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().

◆ actions_before_newton_solve()

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_newton_solve ( )
inline

Update function (empty)

Definition at line 404 of file turek_flag.cc.

◆ create_fsi_traction_elements()

template<class FLUID_ELEMENT , class SOLID_ELEMENT >
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fsi_traction_elements ( )
private

◆ doc_solution()

template<class FLUID_ELEMENT , class SOLID_ELEMENT >
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution ( DocInfo &  doc_info,
ofstream &  trace_file 
)

◆ fluid_mesh_pt()

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
RefineableAlgebraicCylinderWithFlagMesh<FLUID_ELEMENT>* TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::fluid_mesh_pt ( )
inline

◆ solid_mesh_pt()

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
ElasticRefineableRectangularQuadMesh<SOLID_ELEMENT>*& TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::solid_mesh_pt ( )
inline

◆ traction_mesh_pt()

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
SolidMesh*& TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::traction_mesh_pt ( const unsigned &  i)
inline

Access function for the i-th mesh of FSI traction elements.

Definition at line 391 of file turek_flag.cc.

Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().

Member Data Documentation

◆ Combined_traction_mesh_pt

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
SolidMesh* TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Combined_traction_mesh_pt
private

Combined mesh of traction elements – only used for documentation.

Definition at line 429 of file turek_flag.cc.

Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fsi_traction_elements().

◆ Domain_height

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
double TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Domain_height
private

◆ Domain_length

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
double TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Domain_length
private

Overall length of domain.

Definition at line 435 of file turek_flag.cc.

◆ Fluid_control_node_pt

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
Node* TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_control_node_pt
private

◆ Fluid_mesh_pt

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
RefineableAlgebraicCylinderWithFlagMesh<FLUID_ELEMENT>* TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_mesh_pt
private

◆ Solid_control_node_pt

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
Node* TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Solid_control_node_pt
private

◆ Solid_mesh_pt

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
ElasticRefineableRectangularQuadMesh<SOLID_ELEMENT>* TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Solid_mesh_pt
private

Pointer to solid mesh.

Definition at line 420 of file turek_flag.cc.

◆ Traction_mesh_pt

template<class FLUID_ELEMENT, class SOLID_ELEMENT>
Vector<SolidMesh*> TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Traction_mesh_pt
private

The documentation for this class was generated from the following file: