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.