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.