A class that solves the Navier–Stokes equations to compute the shape of a static interface in a rectangular container with imposed contact angle at the boundary. More...
Public Member Functions | |
PseudoSolidCapProblem (const bool &hijack_internal) | |
Constructor: Boolean flag indicates if volume constraint is applied by hijacking internal or external pressure. More... | |
~PseudoSolidCapProblem () | |
Destructor: clean up memory allocated by the object. More... | |
void | parameter_study (const string &dir_name) |
Peform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
PseudoSolidCapProblem (const unsigned &Nx, const unsigned &Nh1, const unsigned &Nh2) | |
Constructor: Pass boolean flag to indicate if the volume constraint is applied by hijacking an internal pressure or the external pressure. More... | |
~PseudoSolidCapProblem () | |
Destructor: clean up memory allocated by the object. More... | |
void | parameter_study (const string &dir_name) |
Peform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string. More... | |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
Private Member Functions | |
void | create_free_surface_elements () |
Create the free surface elements. More... | |
void | create_volume_constraint_elements () |
Create the volume constraint elements. More... | |
void | create_contact_angle_element () |
Create the contact angle element. More... | |
void | create_free_surface_elements () |
Create the free surface elements. More... | |
void | create_volume_constraint_elements () |
Create the volume constraint elements. More... | |
void | create_contact_angle_element () |
Create the contact angle element. More... | |
Private Attributes | |
double | Ca |
The Capillary number. More... | |
double | Volume |
The prescribed volume of the fluid. More... | |
double | Pext |
The external pressure. More... | |
double | Angle |
The contact angle. More... | |
ConstitutiveLaw * | Constitutive_law_pt |
Constitutive law used to determine the mesh deformation. More... | |
Data * | External_pressure_data_pt |
Data object whose single value stores the external pressure. More... | |
Data * | Traded_pressure_data_pt |
ofstream | Trace_file |
Trace file. More... | |
Mesh * | Bulk_mesh_pt |
Storage for the bulk mesh. More... | |
Mesh * | Free_surface_mesh_pt |
Storage for the free surface mesh. More... | |
Mesh * | Free_surface_bounding_mesh_pt |
Storage for the element bounding the free surface. More... | |
Mesh * | Volume_computation_mesh_pt |
Storage for the elements that compute the enclosed volume. More... | |
Mesh * | Volume_constraint_mesh_pt |
Storage for the volume constraint. More... | |
ElasticTwoLayerMesh< ELEMENT > * | Bulk_mesh_pt |
Storage for the bulk mesh. More... | |
A class that solves the Navier–Stokes equations to compute the shape of a static interface in a rectangular container with imposed contact angle at the boundary.
A class that solves the Navier–Stokes equations to compute the shape of a static interface between two fluids in a rectangular container with an imposed contact angle at the boundary.
Definition at line 504 of file static_single_layer.cc.
PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem | ( | const bool & | hijack_internal | ) |
Constructor: Boolean flag indicates if volume constraint is applied by hijacking internal or external pressure.
Constructor: Pass boolean flag to indicate if the volume constraint is applied by hijacking an internal pressure or the external pressure.
Definition at line 584 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Constitutive_law_pt, PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), PseudoSolidCapProblem< ELEMENT >::External_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_bounding_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt, Global_Physical_Variables::Nu, PseudoSolidCapProblem< ELEMENT >::Pext, PseudoSolidCapProblem< ELEMENT >::Traded_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Volume_computation_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Volume_constraint_mesh_pt, and Global_Physical_Variables::Wall_normal.
PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem |
Destructor: clean up memory allocated by the object.
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 754 of file static_single_layer.cc.
PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem | ( | const unsigned & | Nx, |
const unsigned & | Nh1, | ||
const unsigned & | Nh2 | ||
) |
Constructor: Pass boolean flag to indicate if the volume constraint is applied by hijacking an internal pressure or the external pressure.
Definition at line 828 of file static_two_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Constitutive_law_pt, PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), PseudoSolidCapProblem< ELEMENT >::Free_surface_bounding_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt, Global_Physical_Variables::Nu, PseudoSolidCapProblem< ELEMENT >::Traded_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Volume_computation_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Volume_constraint_mesh_pt, and Global_Physical_Variables::Wall_normal.
PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem | ( | ) |
Destructor: clean up memory allocated by the object.
|
private |
Create the contact angle element.
Definition at line 888 of file static_single_layer.cc.
References Global_Physical_Variables::wall_unit_normal_fct().
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Create the contact angle element.
|
private |
Create the free surface elements.
Definition at line 795 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Create the free surface elements.
|
private |
Create the volume constraint elements.
Definition at line 842 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Create the volume constraint elements.
void PseudoSolidCapProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
Definition at line 967 of file static_single_layer.cc.
void PseudoSolidCapProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution.
void PseudoSolidCapProblem< ELEMENT >::parameter_study | ( | const string & | dir_name | ) |
Peform 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 925 of file static_single_layer.cc.
void PseudoSolidCapProblem< ELEMENT >::parameter_study | ( | const string & | dir_name | ) |
Peform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string.
|
private |
The contact angle.
Definition at line 543 of file static_single_layer.cc.
|
private |
Storage for the bulk mesh.
Definition at line 560 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Storage for the bulk mesh.
Definition at line 804 of file static_two_layer.cc.
|
private |
The Capillary number.
Definition at line 534 of file static_single_layer.cc.
|
private |
Constitutive law used to determine the mesh deformation.
Definition at line 546 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Data object whose single value stores the external pressure.
Definition at line 549 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Storage for the element bounding the free surface.
Definition at line 566 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Storage for the free surface mesh.
Definition at line 563 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
The external pressure.
Definition at line 540 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Trace file.
Definition at line 557 of file static_single_layer.cc.
|
private |
Definition at line 554 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
The prescribed volume of the fluid.
Definition at line 537 of file static_single_layer.cc.
|
private |
Storage for the elements that compute the enclosed volume.
Definition at line 569 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Storage for the volume constraint.
Definition at line 572 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().