Problem class. More...
Public Member Functions | |
FSICollapsibleChannelProblem (const unsigned &nup, const unsigned &ncollapsible, const unsigned &ndown, const unsigned &ny, const double &lup, const double &lcollapsible, const double &ldown, const double &ly) | |
Constructor: The arguments are the number of elements and the lengths of the domain. More... | |
~FSICollapsibleChannelProblem () | |
Destructor (empty) More... | |
MacroElementNodeUpdateCollapsibleChannelMesh< ELEMENT > * | bulk_mesh_pt () |
Access function for the specific bulk (fluid) mesh. More... | |
AlgebraicCollapsibleChannelMesh< ELEMENT > * | bulk_mesh_pt () |
Access function for the specific bulk (fluid) mesh. More... | |
OneDLagrangianMesh< FSIHermiteBeamElement > * | wall_mesh_pt () |
Access function for the wall mesh. More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_after_newton_solve () |
Update the problem after solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update before checking Newton convergence: Update the nodal positions in the fluid mesh in response to possible changes in the wall shape. More... | |
void | doc_solution (DocInfo &doc_info, ofstream &trace_file) |
Doc the solution. More... | |
void | set_initial_condition () |
Apply initial conditions. More... | |
FSICollapsibleChannelProblem (const unsigned &nup, const unsigned &ncollapsible, const unsigned &ndown, const unsigned &ny, const double &lup, const double &lcollapsible, const double &ldown, const double &ly) | |
Constructor: The arguments are the number of elements and the lengths of the domain. More... | |
~FSICollapsibleChannelProblem () | |
Destructor (empty) More... | |
MacroElementNodeUpdateRefineableCollapsibleChannelMesh< ELEMENT > * | bulk_mesh_pt () |
Access function for the specific bulk (fluid) mesh. More... | |
RefineableAlgebraicCollapsibleChannelMesh< ELEMENT > * | bulk_mesh_pt () |
Access function for the specific bulk (fluid) mesh. More... | |
OneDLagrangianMesh< FSIHermiteBeamElement > * | wall_mesh_pt () |
Access function for the wall mesh. More... | |
void | actions_before_adapt () |
Actions before adapt: Wipe the mesh of prescribed traction elements. More... | |
void | actions_after_adapt () |
Actions after adapt: Rebuild the mesh of prescribed traction elements. More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_after_newton_solve () |
Update the problem after solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update before checking Newton convergence: Update the nodal positions in the fluid mesh in response to possible changes in the wall shape. More... | |
void | doc_solution (DocInfo &doc_info, ofstream &trace_file) |
Doc the solution. More... | |
void | set_initial_condition () |
Apply initial conditions. More... | |
FSICollapsibleChannelProblem (const unsigned &nup, const unsigned &ncollapsible, const unsigned &ndown, const unsigned &ny, const double &lup, const double &lcollapsible, const double &ldown, const double &ly) | |
Constructor: The arguments are the number of elements and the lengths of the domain. More... | |
~FSICollapsibleChannelProblem () | |
Destructor (empty) More... | |
ElasticCollapsibleChannelMesh< ELEMENT > * | bulk_mesh_pt () |
Access function for the specific bulk (fluid) mesh. More... | |
OneDLagrangianMesh< FSIHermiteBeamElement > * | wall_mesh_pt () |
Access function for the wall mesh. More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_after_newton_solve () |
Update the problem after solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update no slip before Newton convergence check. More... | |
void | doc_solution (DocInfo &doc_info, ofstream &trace_file) |
Doc the solution. More... | |
void | set_initial_condition () |
Apply initial conditions. More... | |
FSICollapsibleChannelProblem (const unsigned &nup, const unsigned &ncollapsible, const unsigned &ndown, const unsigned &ny, const double &lup, const double &lcollapsible, const double &ldown, const double &ly) | |
Constructor: The arguments are the number of elements and the lengths of the domain. More... | |
~FSICollapsibleChannelProblem () | |
Destructor (empty) More... | |
ElasticRefineableCollapsibleChannelMesh< ELEMENT > * | bulk_mesh_pt () |
Access function for the specific bulk (fluid) mesh. More... | |
OneDLagrangianMesh< FSIHermiteBeamElement > * | wall_mesh_pt () |
Access function for the wall mesh. More... | |
void | actions_before_adapt () |
Actions before adapt: Wipe the mesh of prescribed traction elements. More... | |
void | actions_after_adapt () |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_after_newton_solve () |
Update the problem after solve (empty) More... | |
void | actions_before_newton_convergence_check () |
Update no slip before Newton convergence check. More... | |
void | doc_solution (DocInfo &doc_info, ofstream &trace_file) |
Doc the solution. More... | |
void | set_initial_condition () |
Apply initial conditions. More... | |
Private Member Functions | |
void | create_traction_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &traction_mesh_pt) |
Create the prescribed traction elements on boundary b. More... | |
void | create_traction_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &traction_mesh_pt) |
Create the prescribed traction elements on boundary b. More... | |
void | delete_traction_elements (Mesh *const &traction_mesh_pt) |
Delete prescribed traction elements from the surface mesh. More... | |
void | create_traction_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &traction_mesh_pt) |
Create the prescribed traction elements on boundary b. More... | |
void | delete_traction_elements (Mesh *const &traction_mesh_pt) |
Delete prescribed traction elements from the surface mesh. More... | |
void | create_lagrange_multiplier_elements () |
Create elements that enforce prescribed boundary motion by Lagrange multipliers. More... | |
void | delete_lagrange_multiplier_elements () |
void | create_traction_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &traction_mesh_pt) |
Create the prescribed traction elements on boundary b. More... | |
void | delete_traction_elements (Mesh *const &traction_mesh_pt) |
Delete prescribed traction elements from the surface mesh. More... | |
void | create_lagrange_multiplier_elements () |
Create elements that enforce prescribed boundary motion by Lagrange multiplilers. More... | |
void | delete_lagrange_multiplier_elements () |
Private Attributes | |
unsigned | Nup |
Number of elements in the x direction in the upstream part of the channel. More... | |
unsigned | Ncollapsible |
Number of elements in the x direction in the collapsible part of the channel. More... | |
unsigned | Ndown |
Number of elements in the x direction in the downstream part of the channel. More... | |
unsigned | Ny |
Number of elements across the channel. More... | |
double | Lup |
x-length in the upstream part of the channel More... | |
double | Lcollapsible |
x-length in the collapsible part of the channel More... | |
double | Ldown |
x-length in the downstream part of the channel More... | |
double | Ly |
Transverse length. More... | |
MacroElementNodeUpdateCollapsibleChannelMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
AlgebraicCollapsibleChannelMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
Mesh * | Applied_fluid_traction_mesh_pt |
Pointer to the "surface" mesh that applies the traction at the inflow. More... | |
OneDLagrangianMesh< FSIHermiteBeamElement > * | Wall_mesh_pt |
Pointer to the "wall" mesh. More... | |
Node * | Left_node_pt |
Pointer to the left control node. More... | |
Node * | Right_node_pt |
Pointer to right control node. More... | |
Node * | Wall_node_pt |
Pointer to control node on the wall. More... | |
MacroElementNodeUpdateRefineableCollapsibleChannelMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
RefineableAlgebraicCollapsibleChannelMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
ElasticCollapsibleChannelMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
SolidMesh * | Lagrange_multiplier_mesh_pt |
Pointers to mesh of Lagrange multiplier elements. More... | |
MeshAsGeomObject * | Wall_geom_object_pt |
Geometric object incarnation of the wall mesh. More... | |
ConstitutiveLaw * | Constitutive_law_pt |
Constitutive law used to determine the mesh deformation. More... | |
ElasticRefineableCollapsibleChannelMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
Problem class.
Definition at line 237 of file fsi_collapsible_channel.cc.
FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem | ( | const unsigned & | nup, |
const unsigned & | ncollapsible, | ||
const unsigned & | ndown, | ||
const unsigned & | ny, | ||
const double & | lup, | ||
const double & | lcollapsible, | ||
const double & | ldown, | ||
const double & | ly | ||
) |
Constructor: The arguments are the number of elements and the lengths of the domain.
Constructor for the collapsible channel problem.
Definition at line 382 of file fsi_collapsible_channel.cc.
References oomph::CollapsibleChannelMesh< ELEMENT >::bl_squash_fct_pt(), Global_Physical_Variables::H, Global_Physical_Variables::load(), Global_Physical_Variables::prescribed_traction(), Global_Physical_Variables::Q, Global_Physical_Variables::Re, Global_Physical_Variables::ReSt, Global_Physical_Variables::Sigma0, and BL_Squash::squash_fct().
|
inline |
Destructor (empty)
Definition at line 254 of file fsi_collapsible_channel.cc.
FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem | ( | const unsigned & | nup, |
const unsigned & | ncollapsible, | ||
const unsigned & | ndown, | ||
const unsigned & | ny, | ||
const double & | lup, | ||
const double & | lcollapsible, | ||
const double & | ldown, | ||
const double & | ly | ||
) |
Constructor: The arguments are the number of elements and the lengths of the domain.
|
inline |
Destructor (empty)
Definition at line 253 of file fsi_collapsible_channel_adapt.cc.
FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem | ( | const unsigned & | nup, |
const unsigned & | ncollapsible, | ||
const unsigned & | ndown, | ||
const unsigned & | ny, | ||
const double & | lup, | ||
const double & | lcollapsible, | ||
const double & | ldown, | ||
const double & | ly | ||
) |
Constructor: The arguments are the number of elements and the lengths of the domain.
|
inline |
Destructor (empty)
Definition at line 299 of file fsi_pseudo_solid_collapsible_channel.cc.
FSICollapsibleChannelProblem< ELEMENT >::FSICollapsibleChannelProblem | ( | const unsigned & | nup, |
const unsigned & | ncollapsible, | ||
const unsigned & | ndown, | ||
const unsigned & | ny, | ||
const double & | lup, | ||
const double & | lcollapsible, | ||
const double & | ldown, | ||
const double & | ly | ||
) |
Constructor: The arguments are the number of elements and the lengths of the domain.
|
inline |
Destructor (empty)
Definition at line 304 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
void FSICollapsibleChannelProblem< ELEMENT >::actions_after_adapt | ( | ) |
Actions after adapt: Rebuild the mesh of prescribed traction elements.
Actions after adapt: Rebuild the mesh of prescribed traction elements and reset FSI
Definition at line 901 of file fsi_collapsible_channel_adapt.cc.
References Global_Physical_Variables::prescribed_traction().
void FSICollapsibleChannelProblem< ELEMENT >::actions_after_adapt | ( | ) |
Actions after adapt: Rebuild the mesh of prescribed traction elements and reset FSI
|
inline |
Update the problem after solve (empty)
Definition at line 296 of file fsi_collapsible_channel.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 301 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 324 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 336 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
void FSICollapsibleChannelProblem< ELEMENT >::actions_before_adapt | ( | ) |
Actions before adapt: Wipe the mesh of prescribed traction elements.
Definition at line 885 of file fsi_collapsible_channel_adapt.cc.
void FSICollapsibleChannelProblem< ELEMENT >::actions_before_adapt | ( | ) |
Actions before adapt: Wipe the mesh of prescribed traction elements.
|
inline |
Update before checking Newton convergence: Update the nodal positions in the fluid mesh in response to possible changes in the wall shape.
Definition at line 301 of file fsi_collapsible_channel.cc.
|
inline |
Update before checking Newton convergence: Update the nodal positions in the fluid mesh in response to possible changes in the wall shape.
Definition at line 306 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Update no slip before Newton convergence check.
Definition at line 327 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Update no slip before Newton convergence check.
Definition at line 339 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 293 of file fsi_collapsible_channel.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 298 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 321 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 333 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 258 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 260 of file fsi_collapsible_channel.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 270 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 272 of file fsi_collapsible_channel.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 302 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 307 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
private |
Create elements that enforce prescribed boundary motion by Lagrange multipliers.
Create elements that impose the prescribed boundary displacement.
Definition at line 881 of file fsi_pseudo_solid_collapsible_channel.cc.
References FSICollapsibleChannelProblem< ELEMENT >::delete_lagrange_multiplier_elements().
|
private |
Create elements that enforce prescribed boundary motion by Lagrange multiplilers.
|
private |
Create the prescribed traction elements on boundary b.
Create the traction elements.
Definition at line 734 of file fsi_collapsible_channel.cc.
|
private |
Create the prescribed traction elements on boundary b.
|
private |
Create the prescribed traction elements on boundary b.
|
private |
Create the prescribed traction elements on boundary b.
|
private |
Delete elements that enforce prescribed boundary motion by Lagrange multipliers
Delete elements that impose the prescribed boundary displacement and wipe the associated mesh
Definition at line 955 of file fsi_pseudo_solid_collapsible_channel.cc.
References FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition().
Referenced by FSICollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements().
|
private |
Delete elements that enforce prescribed boundary motion by Lagrange multiplilers
|
private |
Delete prescribed traction elements from the surface mesh.
Delete traction elements and wipe the surface mesh.
Definition at line 816 of file fsi_collapsible_channel_adapt.cc.
References FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition().
|
private |
Delete prescribed traction elements from the surface mesh.
|
private |
Delete prescribed traction elements from the surface mesh.
void FSICollapsibleChannelProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info, |
ofstream & | trace_file | ||
) |
Doc the solution.
Definition at line 672 of file fsi_collapsible_channel.cc.
References Global_Physical_Variables::P_ext.
void FSICollapsibleChannelProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info, |
ofstream & | trace_file | ||
) |
Doc the solution.
void FSICollapsibleChannelProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info, |
ofstream & | trace_file | ||
) |
Doc the solution.
void FSICollapsibleChannelProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info, |
ofstream & | trace_file | ||
) |
Doc the solution.
void FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition | ( | ) |
Apply initial conditions.
Definition at line 769 of file fsi_collapsible_channel.cc.
Referenced by FSICollapsibleChannelProblem< ELEMENT >::delete_lagrange_multiplier_elements(), and FSICollapsibleChannelProblem< ELEMENT >::delete_traction_elements().
void FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition | ( | ) |
Apply initial conditions.
void FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition | ( | ) |
Apply initial conditions.
void FSICollapsibleChannelProblem< ELEMENT >::set_initial_condition | ( | ) |
Apply initial conditions.
|
inline |
Access function for the wall mesh.
Definition at line 283 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Access function for the wall mesh.
Definition at line 285 of file fsi_collapsible_channel.cc.
|
inline |
Access function for the wall mesh.
Definition at line 313 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Access function for the wall mesh.
Definition at line 318 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
private |
Pointer to the "surface" mesh that applies the traction at the inflow.
Definition at line 359 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 347 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 352 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 355 of file fsi_collapsible_channel_adapt.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 360 of file fsi_collapsible_channel_adapt.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 394 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 406 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
private |
Constitutive law used to determine the mesh deformation.
Definition at line 419 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
Pointers to mesh of Lagrange multiplier elements.
Pointers to meshes of Lagrange multiplier elements.
Definition at line 401 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
x-length in the collapsible part of the channel
Definition at line 336 of file fsi_collapsible_channel.cc.
|
private |
x-length in the downstream part of the channel
Definition at line 339 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the left control node.
Definition at line 365 of file fsi_collapsible_channel.cc.
|
private |
x-length in the upstream part of the channel
Definition at line 333 of file fsi_collapsible_channel.cc.
|
private |
Transverse length.
Definition at line 342 of file fsi_collapsible_channel.cc.
|
private |
Number of elements in the x direction in the collapsible part of the channel.
Definition at line 324 of file fsi_collapsible_channel.cc.
|
private |
Number of elements in the x direction in the downstream part of the channel.
Definition at line 327 of file fsi_collapsible_channel.cc.
|
private |
Number of elements in the x direction in the upstream part of the channel.
Definition at line 320 of file fsi_collapsible_channel.cc.
|
private |
Number of elements across the channel.
Definition at line 330 of file fsi_collapsible_channel.cc.
|
private |
Pointer to right control node.
Definition at line 368 of file fsi_collapsible_channel.cc.
|
private |
Geometric object incarnation of the wall mesh.
Definition at line 407 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
Pointer to the "wall" mesh.
Definition at line 362 of file fsi_collapsible_channel.cc.
|
private |
Pointer to control node on the wall.
Definition at line 371 of file fsi_collapsible_channel.cc.