A Problem class that solves the Navier–Stokes equations + free surface in a 2D geometry using a spine-based node update. More...
Public Member Functions | |
CapProblem (const bool &hijack_internal) | |
Constructor: Pass boolean flag to indicate if the volume constraint is applied by hijacking an internal pressure or the external pressure. More... | |
~CapProblem () | |
Destructor. Make sure to clean up all allocated memory, so that multiple instances of the problem don't lead to excessive memory usage. More... | |
void | parameter_study (const string &dir_name) |
Perform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string. More... | |
void | actions_before_newton_convergence_check () |
Update the spine mesh after every Newton step. More... | |
void | create_volume_constraint_elements () |
Create the volume constraint elements. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
CapProblem (const unsigned &Nx, const unsigned &Nh1, const unsigned &Nh2) | |
Constructor. More... | |
void | parameter_study () |
Peform a parameter study: Solve problem for a range of contact angles. More... | |
void | finish_problem_setup () |
Finish full specification of the elements. More... | |
void | actions_before_newton_convergence_check () |
Update the spine mesh after every Newton step. More... | |
void | create_volume_constraint_elements () |
Create the volume constraint elements. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
Public Attributes | |
TwoLayerSpineMesh< SpineElement< ELEMENT > > * | Bulk_mesh_pt |
Pointer to the mesh. More... | |
Private Attributes | |
double | Ca |
The Capillary number. More... | |
double | Volume |
The volume of the fluid. More... | |
double | Pext |
The external pressure. More... | |
double | Angle |
The contact angle. More... | |
SingleLayerSpineMesh< SpineElement< ELEMENT > > * | Bulk_mesh_pt |
The bulk mesh of fluid elements. More... | |
Mesh * | Surface_mesh_pt |
The mesh for the interface elements. More... | |
Mesh * | Point_mesh_pt |
The mesh for the element at the contact point. More... | |
Mesh * | Volume_constraint_mesh_pt |
The volume constraint mesh. More... | |
ofstream | Trace_file |
Trace file. More... | |
Data * | External_pressure_data_pt |
Data object whose single value stores the external pressure. More... | |
Data * | Traded_pressure_data_pt |
Data that is traded for the volume constraint. More... | |
A Problem class that solves the Navier–Stokes equations + free surface in a 2D geometry using a spine-based node update.
Definition at line 77 of file static_single_layer.cc.
CapProblem< ELEMENT >::CapProblem | ( | const bool & | hijack_internal | ) |
Constructor: Pass boolean flag to indicate if the volume constraint is applied by hijacking an internal pressure or the external pressure.
Definition at line 147 of file static_single_layer.cc.
References CapProblem< ELEMENT >::Angle, CapProblem< ELEMENT >::Bulk_mesh_pt, CapProblem< ELEMENT >::Ca, CapProblem< ELEMENT >::create_volume_constraint_elements(), CapProblem< ELEMENT >::External_pressure_data_pt, CapProblem< ELEMENT >::Pext, CapProblem< ELEMENT >::Point_mesh_pt, CapProblem< ELEMENT >::Surface_mesh_pt, CapProblem< ELEMENT >::Traded_pressure_data_pt, CapProblem< ELEMENT >::Volume_constraint_mesh_pt, Global_Physical_Variables::Wall_normal, and Global_Physical_Variables::wall_unit_normal_fct().
CapProblem< ELEMENT >::~CapProblem |
Destructor. Make sure to clean up all allocated memory, so that multiple instances of the problem don't lead to excessive memory usage.
Definition at line 330 of file static_single_layer.cc.
CapProblem< ELEMENT >::CapProblem | ( | const unsigned & | Nx, |
const unsigned & | Nh1, | ||
const unsigned & | Nh2 | ||
) |
Constructor.
Definition at line 138 of file static_two_layer.cc.
References CapProblem< ELEMENT >::Angle, CapProblem< ELEMENT >::Bulk_mesh_pt, CapProblem< ELEMENT >::Ca, CapProblem< ELEMENT >::create_volume_constraint_elements(), CapProblem< ELEMENT >::Point_mesh_pt, CapProblem< ELEMENT >::Surface_mesh_pt, CapProblem< ELEMENT >::Traded_pressure_data_pt, CapProblem< ELEMENT >::Volume_constraint_mesh_pt, Global_Physical_Variables::Wall_normal, and Global_Physical_Variables::wall_unit_normal_fct().
|
inline |
Update the spine mesh after every Newton step.
Definition at line 94 of file static_single_layer.cc.
|
inline |
Update the spine mesh after every Newton step.
Definition at line 102 of file static_two_layer.cc.
void CapProblem< ELEMENT >::create_volume_constraint_elements |
Create the volume constraint elements.
Definition at line 374 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
void CapProblem< ELEMENT >::create_volume_constraint_elements | ( | ) |
Create the volume constraint elements.
void CapProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Definition at line 463 of file static_single_layer.cc.
void CapProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void CapProblem< ELEMENT >::finish_problem_setup | ( | ) |
Finish full specification of the elements.
void CapProblem< ELEMENT >::parameter_study |
Peform a parameter study: Solve problem for a range of contact angles.
Perform a parameter study.
Definition at line 335 of file static_two_layer.cc.
void CapProblem< ELEMENT >::parameter_study | ( | const string & | dir_name | ) |
Perform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string.
Perform a parameter study. Pass name of output directory as a string.
Definition at line 419 of file static_single_layer.cc.
Referenced by main().
|
private |
The contact angle.
Definition at line 114 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
The bulk mesh of fluid elements.
Definition at line 117 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
TwoLayerSpineMesh<SpineElement<ELEMENT> >* CapProblem< ELEMENT >::Bulk_mesh_pt |
Pointer to the mesh.
Definition at line 93 of file static_two_layer.cc.
|
private |
The Capillary number.
Definition at line 105 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
Data object whose single value stores the external pressure.
Definition at line 132 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
The external pressure.
Definition at line 111 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
The mesh for the element at the contact point.
Pointer to the point mesh.
Definition at line 123 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
The mesh for the interface elements.
Pointer to the surface mesh.
Definition at line 120 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
Trace file.
Definition at line 129 of file static_single_layer.cc.
|
private |
Data that is traded for the volume constraint.
Definition at line 135 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().
|
private |
The volume of the fluid.
Definition at line 108 of file static_single_layer.cc.
|
private |
The volume constraint mesh.
Definition at line 126 of file static_single_layer.cc.
Referenced by CapProblem< ELEMENT >::CapProblem().