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 and reset FSI. 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 () |
Actions after adapt: Rebuild the mesh of prescribed traction elements and reset FSI. 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... | |
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 () |
Delete elements that enforce prescribed boundary motion by Lagrange multipliers. 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 multiplilers. More... | |
void | delete_lagrange_multiplier_elements () |
Delete elements that enforce prescribed boundary motion by Lagrange multiplilers. More... | |
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 233 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 378 of file fsi_collapsible_channel.cc.
References 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 250 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 249 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 295 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 300 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 and reset FSI.
Actions after adapt: Rebuild the mesh of prescribed traction elements.
Definition at line 897 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 292 of file fsi_collapsible_channel.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 297 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 320 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 332 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 881 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 297 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 302 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Update no slip before Newton convergence check.
Definition at line 323 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Update no slip before Newton convergence check.
Definition at line 335 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 289 of file fsi_collapsible_channel.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 294 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 317 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 329 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 256 of file fsi_collapsible_channel.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 268 of file fsi_collapsible_channel.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 254 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 266 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 298 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Access function for the specific bulk (fluid) mesh.
Definition at line 303 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 876 of file fsi_pseudo_solid_collapsible_channel.cc.
|
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 730 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 950 of file fsi_pseudo_solid_collapsible_channel.cc.
|
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 811 of file fsi_collapsible_channel_adapt.cc.
|
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 668 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 765 of file fsi_collapsible_channel.cc.
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 281 of file fsi_collapsible_channel.cc.
|
inline |
Access function for the wall mesh.
Definition at line 279 of file fsi_collapsible_channel_adapt.cc.
|
inline |
Access function for the wall mesh.
Definition at line 309 of file fsi_pseudo_solid_collapsible_channel.cc.
|
inline |
Access function for the wall mesh.
Definition at line 314 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 355 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 343 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 348 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 351 of file fsi_collapsible_channel_adapt.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 356 of file fsi_collapsible_channel_adapt.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 390 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 402 of file fsi_pseudo_solid_collapsible_channel_adapt.cc.
|
private |
Constitutive law used to determine the mesh deformation.
Definition at line 415 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 397 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
x-length in the collapsible part of the channel
Definition at line 332 of file fsi_collapsible_channel.cc.
|
private |
x-length in the downstream part of the channel
Definition at line 335 of file fsi_collapsible_channel.cc.
|
private |
Pointer to the left control node.
Definition at line 361 of file fsi_collapsible_channel.cc.
|
private |
x-length in the upstream part of the channel
Definition at line 329 of file fsi_collapsible_channel.cc.
|
private |
Transverse length.
Definition at line 338 of file fsi_collapsible_channel.cc.
|
private |
Number of elements in the x direction in the collapsible part of the channel.
Definition at line 320 of file fsi_collapsible_channel.cc.
|
private |
Number of elements in the x direction in the downstream part of the channel.
Definition at line 323 of file fsi_collapsible_channel.cc.
|
private |
Number of elements in the x direction in the upstream part of the channel.
Definition at line 316 of file fsi_collapsible_channel.cc.
|
private |
Number of elements across the channel.
Definition at line 326 of file fsi_collapsible_channel.cc.
|
private |
Pointer to right control node.
Definition at line 364 of file fsi_collapsible_channel.cc.
|
private |
Geometric object incarnation of the wall mesh.
Definition at line 403 of file fsi_pseudo_solid_collapsible_channel.cc.
|
private |
Pointer to the "wall" mesh.
Definition at line 358 of file fsi_collapsible_channel.cc.
|
private |
Pointer to control node on the wall.
Definition at line 367 of file fsi_collapsible_channel.cc.