Problem class. More...
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... | |
Problem class.
Definition at line 374 of file turek_flag.cc.
TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem | ( | const double & | length, |
const double & | height | ||
) |
Constructor: Pass length and height of domain.
Left point on centreline of flag so that the top and bottom vertices merge with the cylinder.
Definition at line 451 of file turek_flag.cc.
References TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_newton_convergence_check(), Global_Parameters::Centre_x, Global_Parameters::Centre_y, Global_Parameters::Constitutive_law_pt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fsi_traction_elements(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Domain_height, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_control_node_pt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::fluid_mesh_pt(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_mesh_pt, Global_Parameters::flux(), Global_Parameters::gravity(), Global_Parameters::H, Global_Parameters::Ignore_fluid_loading, Global_Parameters::Lambda_sq, Global_Parameters::Q, Global_Parameters::Radius, Global_Parameters::Re, Global_Parameters::ReSt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Solid_control_node_pt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::solid_mesh_pt(), Global_Parameters::St, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::traction_mesh_pt(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Traction_mesh_pt.
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt | ( | ) |
Actions after adapt: Re-setup the fsi lookup scheme.
Actions after adapt: Re-setup FSI.
Definition at line 899 of file turek_flag.cc.
References TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::fluid_mesh_pt(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_mesh_pt, Global_Parameters::Ignore_fluid_loading, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::solid_mesh_pt(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Traction_mesh_pt.
|
inline |
Update function (empty)
Definition at line 401 of file turek_flag.cc.
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep | ( | ) |
Update the time-dependent influx.
Actions before implicit timestep: Update inflow profile.
Definition at line 873 of file turek_flag.cc.
References TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Domain_height, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_mesh_pt, and Global_Parameters::flux().
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_newton_convergence_check().
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().
|
inline |
Update function (empty)
Definition at line 404 of file turek_flag.cc.
|
private |
Create FSI traction elements.
Definition at line 957 of file turek_flag.cc.
References TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Combined_traction_mesh_pt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::solid_mesh_pt(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Traction_mesh_pt.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
void TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution | ( | DocInfo & | doc_info, |
ofstream & | trace_file | ||
) |
Doc the solution.
Definition at line 1012 of file turek_flag.cc.
References TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Fluid_control_node_pt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::fluid_mesh_pt(), Global_Parameters::flux(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Solid_control_node_pt, TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::solid_mesh_pt(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::Traction_mesh_pt.
Referenced by main().
|
inline |
Access function for the fluid mesh.
Definition at line 383 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_newton_convergence_check(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
|
inline |
Access function for the solid mesh.
Definition at line 387 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fsi_traction_elements(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
|
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().
|
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().
|
private |
Overall height of domain.
Definition at line 432 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
|
private |
Overall length of domain.
Definition at line 435 of file turek_flag.cc.
|
private |
Pointer to fluid control node.
Definition at line 441 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
|
private |
Pointer to fluid mesh.
Definition at line 423 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_before_implicit_timestep(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
|
private |
Pointer to solid control node.
Definition at line 438 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().
|
private |
Pointer to solid mesh.
Definition at line 420 of file turek_flag.cc.
|
private |
Vector of pointers to mesh of FSI traction elements.
Definition at line 426 of file turek_flag.cc.
Referenced by TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_fsi_traction_elements(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::doc_solution(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().