Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DropInChannelProblem< ELEMENT > Class Template Reference

Problem class to simulate viscous drop propagating along 2D channel. More...

Inheritance diagram for DropInChannelProblem< ELEMENT >:

Public Member Functions

 DropInChannelProblem ()
 Constructor.
 
 ~DropInChannelProblem ()
 Destructor.
 
void actions_before_adapt ()
 Actions before adapt: Wipe the mesh of free surface elements.
 
void actions_after_adapt ()
 Actions after adapt: Rebuild the mesh of free surface elements.
 
void actions_after_newton_solve ()
 Update the after solve (empty)
 
void actions_before_newton_solve ()
 Update the problem specs before solve.
 
void complete_problem_setup ()
 Set boundary conditions and complete the build of all elements.
 
void doc_solution (const std::string &comment="")
 Doc the solution.
 
void compute_error_estimate (double &max_err, double &min_err)
 Compute the error estimates and assign to elements for plotting.
 
void remove_volume_constraint ()
 Change the boundary conditions to remove the volume constraint.
 

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.
 
void delete_free_surface_elements ()
 Delete free surface elements.
 
void create_volume_constraint_elements ()
 Create elements that impose volume constraint on the drop.
 
void delete_volume_constraint_elements ()
 Delete volume constraint elements.
 

Private Attributes

Mesh * Free_surface_mesh_pt
 Pointers to mesh of free surface elements.
 
Mesh * Volume_constraint_mesh_pt
 Pointer to mesh containing elements that impose volume constraint.
 
RefineableSolidTriangleMesh< ELEMENT > * Fluid_mesh_pt
 Pointer to Fluid_mesh.
 
Vector< TriangleMeshPolygon * > Drop_polygon_pt
 Vector storing pointer to the drop polygons.
 
TriangleMeshPolygon * Outer_boundary_polyline_pt
 Triangle mesh polygon for outer boundary.
 
Data * Drop_pressure_data_pt
 Pointer to a global drop pressure datum.
 
VolumeConstraintElement * Vol_constraint_el_pt
 Pointer to element that imposes volume constraint for drop.
 
double Initial_value_for_drop_pressure
 Backed up drop pressure between adaptations.
 
ELEMENT * Hijacked_element_pt
 Pointer to hijacked element.
 
bool Use_volume_constraint
 Bool to indicate if volume constraint is applied (only for steady run)
 

Detailed Description

template<class ELEMENT>
class DropInChannelProblem< ELEMENT >

Problem class to simulate viscous drop propagating along 2D channel.

Definition at line 408 of file adaptive_drop_in_channel.cc.

Member Enumeration Documentation

◆ anonymous enum

template<class ELEMENT >
anonymous enum
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.

Constructor & Destructor Documentation

◆ DropInChannelProblem()

template<class ELEMENT >
DropInChannelProblem< ELEMENT >::DropInChannelProblem ( )

◆ ~DropInChannelProblem()

template<class ELEMENT >
DropInChannelProblem< ELEMENT >::~DropInChannelProblem ( )
inline

Member Function Documentation

◆ actions_after_adapt()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::actions_after_adapt ( )
inline

◆ actions_after_newton_solve()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update the after solve (empty)

Definition at line 496 of file adaptive_drop_in_channel.cc.

◆ actions_before_adapt()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::actions_before_adapt ( )
inline

Actions before adapt: Wipe the mesh of free surface elements.

Definition at line 464 of file adaptive_drop_in_channel.cc.

References DropInChannelProblem< ELEMENT >::delete_free_surface_elements(), and DropInChannelProblem< ELEMENT >::delete_volume_constraint_elements().

◆ actions_before_newton_solve()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Update the problem specs before solve.

Definition at line 499 of file adaptive_drop_in_channel.cc.

References DropInChannelProblem< ELEMENT >::Fluid_mesh_pt.

◆ complete_problem_setup()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::complete_problem_setup ( )

◆ compute_error_estimate()

template<class ELEMENT >
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.

◆ create_free_surface_elements()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::create_free_surface_elements ( )
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.

Referenced by DropInChannelProblem< ELEMENT >::actions_after_adapt().

◆ create_volume_constraint_elements()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::create_volume_constraint_elements ( )
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.

Referenced by DropInChannelProblem< ELEMENT >::actions_after_adapt().

◆ delete_free_surface_elements()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::delete_free_surface_elements ( )
inlineprivate

◆ delete_volume_constraint_elements()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::delete_volume_constraint_elements ( )
inlineprivate

◆ doc_solution()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::doc_solution ( const std::string &  comment = "")

◆ remove_volume_constraint()

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::remove_volume_constraint ( )
inline

Member Data Documentation

◆ Drop_polygon_pt

template<class ELEMENT >
Vector<TriangleMeshPolygon*> DropInChannelProblem< ELEMENT >::Drop_polygon_pt
private

Vector storing pointer to the drop polygons.

Definition at line 623 of file adaptive_drop_in_channel.cc.

Referenced by DropInChannelProblem< ELEMENT >::~DropInChannelProblem().

◆ Drop_pressure_data_pt

template<class ELEMENT >
Data* DropInChannelProblem< ELEMENT >::Drop_pressure_data_pt
private

◆ Fluid_mesh_pt

template<class ELEMENT >
RefineableSolidTriangleMesh<ELEMENT>* DropInChannelProblem< ELEMENT >::Fluid_mesh_pt
private

◆ Free_surface_mesh_pt

template<class ELEMENT >
Mesh* DropInChannelProblem< ELEMENT >::Free_surface_mesh_pt
private

◆ Hijacked_element_pt

template<class ELEMENT >
ELEMENT* DropInChannelProblem< ELEMENT >::Hijacked_element_pt
private

Pointer to hijacked element.

Definition at line 638 of file adaptive_drop_in_channel.cc.

Referenced by DropInChannelProblem< ELEMENT >::remove_volume_constraint().

◆ Initial_value_for_drop_pressure

template<class ELEMENT >
double DropInChannelProblem< ELEMENT >::Initial_value_for_drop_pressure
private

Backed up drop pressure between adaptations.

Definition at line 635 of file adaptive_drop_in_channel.cc.

Referenced by DropInChannelProblem< ELEMENT >::delete_volume_constraint_elements().

◆ Outer_boundary_polyline_pt

template<class ELEMENT >
TriangleMeshPolygon* DropInChannelProblem< ELEMENT >::Outer_boundary_polyline_pt
private

Triangle mesh polygon for outer boundary.

Definition at line 626 of file adaptive_drop_in_channel.cc.

Referenced by DropInChannelProblem< ELEMENT >::~DropInChannelProblem().

◆ Use_volume_constraint

template<class ELEMENT >
bool DropInChannelProblem< ELEMENT >::Use_volume_constraint
private

Bool to indicate if volume constraint is applied (only for steady run)

Definition at line 641 of file adaptive_drop_in_channel.cc.

Referenced by DropInChannelProblem< ELEMENT >::remove_volume_constraint().

◆ Vol_constraint_el_pt

template<class ELEMENT >
VolumeConstraintElement* DropInChannelProblem< ELEMENT >::Vol_constraint_el_pt
private

Pointer to element that imposes volume constraint for drop.

Definition at line 632 of file adaptive_drop_in_channel.cc.

Referenced by DropInChannelProblem< ELEMENT >::delete_volume_constraint_elements().

◆ Volume_constraint_mesh_pt

template<class ELEMENT >
Mesh* DropInChannelProblem< ELEMENT >::Volume_constraint_mesh_pt
private

The documentation for this class was generated from the following file: