Problem class to simulate viscous drop propagating along 2D channel. More...
Public Member Functions | |
DropInChannelProblem () | |
Constructor. More... | |
~DropInChannelProblem () | |
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 | remove_volume_constraint () |
Change the boundary conditions to remove the volume constraint. More... | |
Private Types | |
enum | { Inflow_boundary_id =0 , Upper_wall_boundary_id =1 , Outflow_boundary_id =2 , Bottom_wall_boundary_id =3 , First_drop_boundary_id =4 , Second_drop_boundary_id =5 } |
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... | |
void | create_volume_constraint_elements () |
Create elements that impose volume constraint on the drop. More... | |
void | delete_volume_constraint_elements () |
Delete volume constraint elements. More... | |
Private Attributes | |
Mesh * | Free_surface_mesh_pt |
Pointers to mesh of free surface elements. More... | |
Mesh * | Volume_constraint_mesh_pt |
Pointer to mesh containing elements that impose volume constraint. 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... | |
VolumeConstraintElement * | Vol_constraint_el_pt |
Pointer to element that imposes volume constraint for drop. 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 408 of file adaptive_drop_in_channel.cc.
|
private |
Enumeration of channel boundaries.
Enumerator | |
---|---|
Inflow_boundary_id | |
Upper_wall_boundary_id | |
Outflow_boundary_id | |
Bottom_wall_boundary_id | |
First_drop_boundary_id | |
Second_drop_boundary_id |
Definition at line 644 of file adaptive_drop_in_channel.cc.
DropInChannelProblem< ELEMENT >::DropInChannelProblem |
Constructor.
Definition at line 662 of file adaptive_drop_in_channel.cc.
References Problem_Parameter::Ca, Problem_Parameter::Doc_info, Problem_Parameter::Length, and Problem_Parameter::Radius.
|
inline |
Destructor.
Definition at line 417 of file adaptive_drop_in_channel.cc.
References Problem_Parameter::Constitutive_law_pt.
|
inline |
Actions after adapt: Rebuild the mesh of free surface elements.
Definition at line 477 of file adaptive_drop_in_channel.cc.
|
inline |
Update the after solve (empty)
Definition at line 496 of file adaptive_drop_in_channel.cc.
|
inline |
Actions before adapt: Wipe the mesh of free surface elements.
Definition at line 464 of file adaptive_drop_in_channel.cc.
|
inline |
Update the problem specs before solve.
Definition at line 499 of file adaptive_drop_in_channel.cc.
void DropInChannelProblem< ELEMENT >::complete_problem_setup |
Set boundary conditions and complete the build of all elements.
Definition at line 1025 of file adaptive_drop_in_channel.cc.
References Problem_Parameter::Constitutive_law_pt, Problem_Parameter::Inflow_veloc_magnitude, Problem_Parameter::Re, and Problem_Parameter::Viscosity_ratio.
void DropInChannelProblem< 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 1268 of file adaptive_drop_in_channel.cc.
|
private |
Create free surface elements.
Create elements that impose the kinematic and dynamic bcs for the pseudo-solid fluid mesh.
Definition at line 908 of file adaptive_drop_in_channel.cc.
References Problem_Parameter::Ca.
|
private |
Create elements that impose volume constraint on the drop.
Definition at line 956 of file adaptive_drop_in_channel.cc.
References Problem_Parameter::Volume.
|
inlineprivate |
Delete free surface elements.
Definition at line 561 of file adaptive_drop_in_channel.cc.
|
inlineprivate |
Delete volume constraint elements.
Definition at line 585 of file adaptive_drop_in_channel.cc.
void DropInChannelProblem< ELEMENT >::doc_solution | ( | const std::string & | comment = "" | ) |
Doc the solution.
Definition at line 1191 of file adaptive_drop_in_channel.cc.
References Problem_Parameter::Doc_info, Problem_Parameter::Norm_file, and Problem_Parameter::Trace_file.
|
inline |
Change the boundary conditions to remove the volume constraint.
Definition at line 519 of file adaptive_drop_in_channel.cc.
|
private |
Vector storing pointer to the drop polygons.
Definition at line 623 of file adaptive_drop_in_channel.cc.
|
private |
Pointer to a global drop pressure datum.
Definition at line 629 of file adaptive_drop_in_channel.cc.
|
private |
Pointer to Fluid_mesh.
Definition at line 620 of file adaptive_drop_in_channel.cc.
|
private |
Pointers to mesh of free surface elements.
Definition at line 614 of file adaptive_drop_in_channel.cc.
|
private |
Pointer to hijacked element.
Definition at line 638 of file adaptive_drop_in_channel.cc.
|
private |
Backed up drop pressure between adaptations.
Definition at line 635 of file adaptive_drop_in_channel.cc.
|
private |
Triangle mesh polygon for outer boundary.
Definition at line 626 of file adaptive_drop_in_channel.cc.
|
private |
Bool to indicate if volume constraint is applied (only for steady run)
Definition at line 641 of file adaptive_drop_in_channel.cc.
|
private |
Pointer to element that imposes volume constraint for drop.
Definition at line 632 of file adaptive_drop_in_channel.cc.
|
private |
Pointer to mesh containing elements that impose volume constraint.
Definition at line 617 of file adaptive_drop_in_channel.cc.