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) | |
~PseudoSolidCapProblem () | |
Destructor: clean up memory allocated by the object. More... | |
void | parameter_study (const string &dir_name) |
void | doc_solution (DocInfo &doc_info) |
Doc the solution. More... | |
PseudoSolidCapProblem (const unsigned &Nx, const unsigned &Nh1, const unsigned &Nh2) | |
~PseudoSolidCapProblem () | |
Destructor: clean up memory allocated by the object. More... | |
void | parameter_study (const string &dir_name) |
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 508 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 588 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 758 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Constitutive_law_pt, PseudoSolidCapProblem< ELEMENT >::External_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_bounding_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Traded_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Volume_computation_mesh_pt, and PseudoSolidCapProblem< ELEMENT >::Volume_constraint_mesh_pt.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
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 832 of file static_two_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Angle, PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Ca, 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 >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::Free_surface_bounding_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt, Global_Physical_Variables::Nu, PseudoSolidCapProblem< ELEMENT >::parameter_study(), PseudoSolidCapProblem< ELEMENT >::Trace_file, PseudoSolidCapProblem< ELEMENT >::Traded_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Volume, PseudoSolidCapProblem< ELEMENT >::Volume_computation_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Volume_constraint_mesh_pt, Global_Physical_Variables::Wall_normal, Global_Physical_Variables::wall_unit_normal_fct(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem | ( | ) |
Destructor: clean up memory allocated by the object.
|
private |
Create the contact angle element.
Definition at line 892 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Angle, PseudoSolidCapProblem< ELEMENT >::Ca, PseudoSolidCapProblem< ELEMENT >::Free_surface_bounding_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt, and 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 799 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Ca, PseudoSolidCapProblem< ELEMENT >::External_pressure_data_pt, and PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Create the free surface elements.
|
private |
Create the volume constraint elements.
Definition at line 846 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Traded_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Volume, PseudoSolidCapProblem< ELEMENT >::Volume_computation_mesh_pt, and PseudoSolidCapProblem< ELEMENT >::Volume_constraint_mesh_pt.
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 971 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Angle, PseudoSolidCapProblem< ELEMENT >::Bulk_mesh_pt, PseudoSolidCapProblem< ELEMENT >::Ca, PseudoSolidCapProblem< ELEMENT >::External_pressure_data_pt, PseudoSolidCapProblem< ELEMENT >::Free_surface_mesh_pt, and PseudoSolidCapProblem< ELEMENT >::Trace_file.
Referenced by PseudoSolidCapProblem< ELEMENT >::parameter_study(), and PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
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 929 of file static_single_layer.cc.
References PseudoSolidCapProblem< ELEMENT >::Angle, PseudoSolidCapProblem< ELEMENT >::doc_solution(), and PseudoSolidCapProblem< ELEMENT >::Trace_file.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
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 547 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::parameter_study(), and PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Storage for the bulk mesh.
Definition at line 564 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), PseudoSolidCapProblem< ELEMENT >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
Storage for the bulk mesh.
Definition at line 808 of file static_two_layer.cc.
|
private |
The Capillary number.
Definition at line 538 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), PseudoSolidCapProblem< ELEMENT >::doc_solution(), and PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Constitutive law used to determine the mesh deformation.
Definition at line 550 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
Data object whose single value stores the external pressure.
Definition at line 553 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), PseudoSolidCapProblem< ELEMENT >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
Storage for the element bounding the free surface.
Definition at line 570 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
Storage for the free surface mesh.
Definition at line 567 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_contact_angle_element(), PseudoSolidCapProblem< ELEMENT >::create_free_surface_elements(), PseudoSolidCapProblem< ELEMENT >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
The external pressure.
Definition at line 544 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Trace file.
Definition at line 561 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::doc_solution(), PseudoSolidCapProblem< ELEMENT >::parameter_study(), and PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Definition at line 558 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
The prescribed volume of the fluid.
Definition at line 541 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), and PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem().
|
private |
Storage for the elements that compute the enclosed volume.
Definition at line 573 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().
|
private |
Storage for the volume constraint.
Definition at line 576 of file static_single_layer.cc.
Referenced by PseudoSolidCapProblem< ELEMENT >::create_volume_constraint_elements(), PseudoSolidCapProblem< ELEMENT >::PseudoSolidCapProblem(), and PseudoSolidCapProblem< ELEMENT >::~PseudoSolidCapProblem().