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. 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...
 

Detailed Description

template<class ELEMENT>
class DropInChannelProblem< ELEMENT >

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

Definition at line 412 of file adaptive_drop_in_channel.cc.

Member Enumeration Documentation

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 648 of file adaptive_drop_in_channel.cc.

Constructor & Destructor Documentation

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

Destructor.

Definition at line 421 of file adaptive_drop_in_channel.cc.

References Problem_Parameter::Constitutive_law_pt.

Member Function Documentation

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

Actions after adapt: Rebuild the mesh of free surface elements.

Definition at line 481 of file adaptive_drop_in_channel.cc.

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

Update the after solve (empty)

Definition at line 500 of file adaptive_drop_in_channel.cc.

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

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

Definition at line 468 of file adaptive_drop_in_channel.cc.

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

Update the problem specs before solve.

Definition at line 503 of file adaptive_drop_in_channel.cc.

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

Set boundary conditions and complete the build of all elements.

Definition at line 1029 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.

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 1272 of file adaptive_drop_in_channel.cc.

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 912 of file adaptive_drop_in_channel.cc.

References Problem_Parameter::Ca.

template<class ELEMENT >
void DropInChannelProblem< ELEMENT >::create_volume_constraint_elements ( )
private

Create elements that impose volume constraint on the drop.

Definition at line 960 of file adaptive_drop_in_channel.cc.

References Problem_Parameter::Volume.

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

Delete free surface elements.

Definition at line 565 of file adaptive_drop_in_channel.cc.

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

Delete volume constraint elements.

Definition at line 589 of file adaptive_drop_in_channel.cc.

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

Change the boundary conditions to remove the volume constraint.

Definition at line 523 of file adaptive_drop_in_channel.cc.

Member Data Documentation

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

Vector storing pointer to the drop polygons.

Definition at line 627 of file adaptive_drop_in_channel.cc.

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

Pointer to a global drop pressure datum.

Definition at line 633 of file adaptive_drop_in_channel.cc.

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

Pointer to Fluid_mesh.

Definition at line 624 of file adaptive_drop_in_channel.cc.

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

Pointers to mesh of free surface elements.

Definition at line 618 of file adaptive_drop_in_channel.cc.

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

Pointer to hijacked element.

Definition at line 642 of file adaptive_drop_in_channel.cc.

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

Backed up drop pressure between adaptations.

Definition at line 639 of file adaptive_drop_in_channel.cc.

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

Triangle mesh polygon for outer boundary.

Definition at line 630 of file adaptive_drop_in_channel.cc.

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 645 of file adaptive_drop_in_channel.cc.

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

Pointer to element that imposes volume constraint for drop.

Definition at line 636 of file adaptive_drop_in_channel.cc.

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

Pointer to mesh containing elements that impose volume constraint.

Definition at line 621 of file adaptive_drop_in_channel.cc.


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