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

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. More...
 
void delete_free_surface_elements ()
 Delete free surface elements. More...
 
void create_volume_constraint_elements ()
 Create elements that impose volume constraint on the bubble. 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 * > Bubble_polygon_pt
 Vector storing pointer to the bubble polygons. More...
 
TriangleMeshPolygon * Outer_boundary_polyline_pt
 Triangle mesh polygon for outer boundary. More...
 
Data * Bubble_pressure_data_pt
 Pointer to a global bubble pressure datum. More...
 
VolumeConstraintElement * Vol_constraint_el_pt
 Pointer to element that imposes volume constraint for bubble. More...
 

Detailed Description

template<class ELEMENT>
class BubbleInChannelProblem< ELEMENT >

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

Definition at line 428 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 605 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

Destructor.

Definition at line 437 of file adaptive_bubble_in_channel.cc.

References Problem_Parameter::Constitutive_law_pt.

Member Function Documentation

◆ actions_after_adapt()

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

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

Definition at line 497 of file adaptive_bubble_in_channel.cc.

◆ actions_after_newton_solve()

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

Update the after solve (empty)

Definition at line 515 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 484 of file adaptive_bubble_in_channel.cc.

◆ actions_before_newton_solve()

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

Update the problem specs before solve.

Definition at line 518 of file adaptive_bubble_in_channel.cc.

◆ 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 1007 of file adaptive_bubble_in_channel.cc.

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

Referenced by 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 1241 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 904 of file adaptive_bubble_in_channel.cc.

References Problem_Parameter::Ca.

◆ 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 962 of file adaptive_bubble_in_channel.cc.

◆ delete_free_surface_elements()

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

Delete free surface elements.

Definition at line 543 of file adaptive_bubble_in_channel.cc.

◆ delete_volume_constraint_elements()

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

Delete volume constraint elements.

Definition at line 565 of file adaptive_bubble_in_channel.cc.

◆ 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 593 of file adaptive_bubble_in_channel.cc.

◆ 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 599 of file adaptive_bubble_in_channel.cc.

◆ Fluid_mesh_pt

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

Pointer to Fluid_mesh.

Definition at line 590 of file adaptive_bubble_in_channel.cc.

◆ Free_surface_mesh_pt

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

Pointers to mesh of free surface elements.

Definition at line 584 of file adaptive_bubble_in_channel.cc.

◆ Outer_boundary_polyline_pt

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

Triangle mesh polygon for outer boundary.

Definition at line 596 of file adaptive_bubble_in_channel.cc.

◆ 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 602 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 587 of file adaptive_bubble_in_channel.cc.


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