Problem class to simulate viscous drop propagating along 2D channel. More...
Public Member Functions | |
TwoLayerInterfaceProblem () | |
Constructor. More... | |
~TwoLayerInterfaceProblem () | |
Destructor. More... | |
void | actions_before_adapt () |
Actions before adapt: Wipe the mesh of free surface elements. More... | |
void | actions_after_adapt () |
Actions after adapt: Rebuild the mesh of free surface elements. More... | |
void | actions_after_newton_solve () |
Update the after solve (empty) More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve. More... | |
void | complete_problem_setup () |
Set boundary conditions and complete the build of all elements. More... | |
void | doc_solution (const std::string &comment="") |
Doc the solution. More... | |
void | compute_error_estimate (double &max_err, double &min_err) |
Compute the error estimates and assign to elements for plotting. More... | |
void | set_initial_condition () |
Set the initial conditions. More... | |
void | deform_interface (const double &epsilon, const unsigned &n_periods) |
Function to deform the interface. More... | |
void | fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue) |
Fix pressure in element e at pressure dof pdof and set to pvalue. More... | |
Private Types | |
enum | { Inflow_boundary_id =0 , Upper_wall_boundary_id =1 , Outflow_boundary_id =2 , Bottom_wall_boundary_id =3 , Interface_boundary_id =4 } |
Enumeration of channel boundaries. More... | |
Private Member Functions | |
void | create_free_surface_elements () |
Create free surface elements. More... | |
void | delete_free_surface_elements () |
Delete free surface elements. More... | |
Private Attributes | |
Mesh * | Free_surface_mesh_pt |
Pointers to mesh of free surface elements. More... | |
RefineableSolidTriangleMesh< ELEMENT > * | Fluid_mesh_pt |
Pointer to Fluid_mesh. More... | |
Vector< TriangleMeshPolygon * > | Drop_polygon_pt |
Vector storing pointer to the drop polygons. More... | |
TriangleMeshPolygon * | Outer_boundary_polyline_pt |
Triangle mesh polygon for outer boundary. More... | |
Data * | Drop_pressure_data_pt |
Pointer to a global drop pressure datum. More... | |
double | Initial_value_for_drop_pressure |
Backed up drop pressure between adaptations. More... | |
ELEMENT * | Hijacked_element_pt |
Pointer to hijacked element. More... | |
bool | Use_volume_constraint |
Bool to indicate if volume constraint is applied (only for steady run) More... | |
Problem class to simulate viscous drop propagating along 2D channel.
Definition at line 351 of file refineable_two_layer_interface.cc.
|
private |
Enumeration of channel boundaries.
Enumerator | |
---|---|
Inflow_boundary_id | |
Upper_wall_boundary_id | |
Outflow_boundary_id | |
Bottom_wall_boundary_id | |
Interface_boundary_id |
Definition at line 558 of file refineable_two_layer_interface.cc.
TwoLayerInterfaceProblem< ELEMENT >::TwoLayerInterfaceProblem |
Constructor.
Definition at line 575 of file refineable_two_layer_interface.cc.
References Problem_Parameter::Doc_info, Problem_Parameter::Height, Problem_Parameter::Interface_Height, and Problem_Parameter::Length.
|
inline |
Destructor.
Definition at line 360 of file refineable_two_layer_interface.cc.
References Problem_Parameter::Constitutive_law_pt.
|
inline |
Actions after adapt: Rebuild the mesh of free surface elements.
Definition at line 405 of file refineable_two_layer_interface.cc.
|
inline |
Update the after solve (empty)
Definition at line 422 of file refineable_two_layer_interface.cc.
|
inline |
Actions before adapt: Wipe the mesh of free surface elements.
Definition at line 393 of file refineable_two_layer_interface.cc.
|
inline |
Update the problem specs before solve.
Definition at line 425 of file refineable_two_layer_interface.cc.
void TwoLayerInterfaceProblem< ELEMENT >::complete_problem_setup |
Set boundary conditions and complete the build of all elements.
Definition at line 825 of file refineable_two_layer_interface.cc.
References Problem_Parameter::Constitutive_law_pt, Problem_Parameter::Density_Ratio, Problem_Parameter::G(), Problem_Parameter::Re, Problem_Parameter::ReInvFr, Problem_Parameter::ReSt, and Problem_Parameter::Viscosity_Ratio.
void TwoLayerInterfaceProblem< ELEMENT >::compute_error_estimate | ( | double & | max_err, |
double & | min_err | ||
) |
Compute the error estimates and assign to elements for plotting.
Compute error estimates and assign to elements for plotting.
Definition at line 1033 of file refineable_two_layer_interface.cc.
|
private |
Create free surface elements.
Create elements that impose the kinematic and dynamic bcs for the pseudo-solid fluid mesh.
Definition at line 775 of file refineable_two_layer_interface.cc.
References Problem_Parameter::Ca, and Problem_Parameter::St.
|
inline |
Function to deform the interface.
Definition at line 470 of file refineable_two_layer_interface.cc.
References Problem_Parameter::Length.
|
inlineprivate |
Delete free surface elements.
Definition at line 512 of file refineable_two_layer_interface.cc.
void TwoLayerInterfaceProblem< ELEMENT >::doc_solution | ( | const std::string & | comment = "" | ) |
Doc the solution.
Definition at line 969 of file refineable_two_layer_interface.cc.
References Problem_Parameter::Doc_info, and Problem_Parameter::Trace_file.
|
inline |
Fix pressure in element e at pressure dof pdof and set to pvalue.
Definition at line 495 of file refineable_two_layer_interface.cc.
|
inline |
Set the initial conditions.
Definition at line 444 of file refineable_two_layer_interface.cc.
|
private |
Vector storing pointer to the drop polygons.
Definition at line 540 of file refineable_two_layer_interface.cc.
|
private |
Pointer to a global drop pressure datum.
Definition at line 546 of file refineable_two_layer_interface.cc.
|
private |
Pointer to Fluid_mesh.
Definition at line 537 of file refineable_two_layer_interface.cc.
|
private |
Pointers to mesh of free surface elements.
Definition at line 533 of file refineable_two_layer_interface.cc.
|
private |
Pointer to hijacked element.
Definition at line 552 of file refineable_two_layer_interface.cc.
|
private |
Backed up drop pressure between adaptations.
Definition at line 549 of file refineable_two_layer_interface.cc.
|
private |
Triangle mesh polygon for outer boundary.
Definition at line 543 of file refineable_two_layer_interface.cc.
|
private |
Bool to indicate if volume constraint is applied (only for steady run)
Definition at line 555 of file refineable_two_layer_interface.cc.