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

Problem class to simulate inviscid bubble propagating along 2D channel. More...

Inheritance diagram for BubbleInChannelProblem< ELEMENT >:

Public Member Functions

 BubbleInChannelProblem ()
 Constructor.
 
 ~BubbleInChannelProblem ()
 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.
 

Private Types

enum  {
  Inflow_boundary_id =0 , Upper_wall_boundary_id =1 , Outflow_boundary_id =2 , Bottom_wall_boundary_id =3 ,
  First_bubble_boundary_id =4 , Second_bubble_boundary_id =5
}
 Enumeration of mesh 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 bubble.
 
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 * > Bubble_polygon_pt
 Vector storing pointer to the bubble polygons.
 
TriangleMeshPolygon * Outer_boundary_polyline_pt
 Triangle mesh polygon for outer boundary.
 
Data * Bubble_pressure_data_pt
 Pointer to a global bubble pressure datum.
 
VolumeConstraintElement * Vol_constraint_el_pt
 Pointer to element that imposes volume constraint for bubble.
 

Detailed Description

template<class ELEMENT>
class BubbleInChannelProblem< ELEMENT >

Problem class to simulate inviscid bubble propagating along 2D channel.

Definition at line 424 of file adaptive_bubble_in_channel.cc.

Member Enumeration Documentation

◆ anonymous enum

template<class ELEMENT >
anonymous enum
private

Enumeration of mesh boundaries.

Enumerator
Inflow_boundary_id 
Upper_wall_boundary_id 
Outflow_boundary_id 
Bottom_wall_boundary_id 
First_bubble_boundary_id 
Second_bubble_boundary_id 

Definition at line 601 of file adaptive_bubble_in_channel.cc.

Constructor & Destructor Documentation

◆ BubbleInChannelProblem()

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

◆ ~BubbleInChannelProblem()

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

Member Function Documentation

◆ actions_after_adapt()

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

◆ actions_after_newton_solve()

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

Update the after solve (empty)

Definition at line 511 of file adaptive_bubble_in_channel.cc.

◆ actions_before_adapt()

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

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

Definition at line 480 of file adaptive_bubble_in_channel.cc.

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

◆ actions_before_newton_solve()

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

Update the problem specs before solve.

Definition at line 514 of file adaptive_bubble_in_channel.cc.

References BubbleInChannelProblem< ELEMENT >::Fluid_mesh_pt.

◆ complete_problem_setup()

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

Set boundary conditions and complete the build of all elements.

Definition at line 1003 of file adaptive_bubble_in_channel.cc.

References Problem_Parameter::Constitutive_law_pt, Problem_Parameter::Inflow_veloc_magnitude, and Problem_Parameter::Re.

Referenced by BubbleInChannelProblem< ELEMENT >::actions_after_adapt(), and main().

◆ compute_error_estimate()

template<class ELEMENT >
void BubbleInChannelProblem< 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 1237 of file adaptive_bubble_in_channel.cc.

◆ create_free_surface_elements()

template<class ELEMENT >
void BubbleInChannelProblem< 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 900 of file adaptive_bubble_in_channel.cc.

References Problem_Parameter::Ca.

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

◆ create_volume_constraint_elements()

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

Create elements that impose volume constraint on the bubble.

Definition at line 958 of file adaptive_bubble_in_channel.cc.

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

◆ delete_free_surface_elements()

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

◆ delete_volume_constraint_elements()

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

◆ doc_solution()

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

Member Data Documentation

◆ Bubble_polygon_pt

template<class ELEMENT >
Vector<TriangleMeshPolygon*> BubbleInChannelProblem< ELEMENT >::Bubble_polygon_pt
private

Vector storing pointer to the bubble polygons.

Definition at line 589 of file adaptive_bubble_in_channel.cc.

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

◆ Bubble_pressure_data_pt

template<class ELEMENT >
Data* BubbleInChannelProblem< ELEMENT >::Bubble_pressure_data_pt
private

Pointer to a global bubble pressure datum.

Definition at line 595 of file adaptive_bubble_in_channel.cc.

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

◆ Fluid_mesh_pt

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

◆ Free_surface_mesh_pt

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

◆ Outer_boundary_polyline_pt

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

Triangle mesh polygon for outer boundary.

Definition at line 592 of file adaptive_bubble_in_channel.cc.

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

◆ Vol_constraint_el_pt

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

Pointer to element that imposes volume constraint for bubble.

Definition at line 598 of file adaptive_bubble_in_channel.cc.

◆ Volume_constraint_mesh_pt

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

Pointer to mesh containing elements that impose volume constraint.

Definition at line 583 of file adaptive_bubble_in_channel.cc.

Referenced by BubbleInChannelProblem< ELEMENT >::delete_volume_constraint_elements(), and BubbleInChannelProblem< ELEMENT >::~BubbleInChannelProblem().


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