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

A Problem class that solves the Navier–Stokes equations + free surface in a 2D geometry using a spine-based node update. More...

Inheritance diagram for CapProblem< ELEMENT >:

Public Member Functions

 CapProblem (const bool &hijack_internal)
 Constructor: Pass boolean flag to indicate if the volume constraint is applied by hijacking an internal pressure or the external pressure. More...
 
 ~CapProblem ()
 Destructor. Make sure to clean up all allocated memory, so that multiple instances of the problem don't lead to excessive memory usage. More...
 
void parameter_study (const string &dir_name)
 Perform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string. More...
 
void actions_before_newton_convergence_check ()
 Update the spine mesh after every Newton step. More...
 
void create_volume_constraint_elements ()
 Create the volume constraint elements. More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. More...
 
 CapProblem (const unsigned &Nx, const unsigned &Nh1, const unsigned &Nh2)
 Constructor. More...
 
void parameter_study ()
 Peform a parameter study: Solve problem for a range of contact angles. More...
 
void finish_problem_setup ()
 Finish full specification of the elements. More...
 
void actions_before_newton_convergence_check ()
 Update the spine mesh after every Newton step. More...
 
void create_volume_constraint_elements ()
 Create the volume constraint elements. More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. More...
 

Public Attributes

TwoLayerSpineMesh< SpineElement< ELEMENT > > * Bulk_mesh_pt
 Pointer to the mesh. More...
 

Private Attributes

double Ca
 The Capillary number. More...
 
double Volume
 The volume of the fluid. More...
 
double Pext
 The external pressure. More...
 
double Angle
 The contact angle. More...
 
SingleLayerSpineMesh< SpineElement< ELEMENT > > * Bulk_mesh_pt
 The bulk mesh of fluid elements. More...
 
Mesh * Surface_mesh_pt
 The mesh for the interface elements. More...
 
Mesh * Point_mesh_pt
 The mesh for the element at the contact point. More...
 
Mesh * Volume_constraint_mesh_pt
 The volume constraint mesh. More...
 
ofstream Trace_file
 Trace file. More...
 
Data * External_pressure_data_pt
 Data object whose single value stores the external pressure. More...
 
Data * Traded_pressure_data_pt
 Data that is traded for the volume constraint. More...
 

Detailed Description

template<class ELEMENT>
class CapProblem< ELEMENT >

A Problem class that solves the Navier–Stokes equations + free surface in a 2D geometry using a spine-based node update.

Definition at line 77 of file static_single_layer.cc.

Constructor & Destructor Documentation

◆ CapProblem() [1/2]

template<class ELEMENT >
CapProblem< ELEMENT >::CapProblem ( const bool &  hijack_internal)

◆ ~CapProblem()

template<class ELEMENT >
CapProblem< ELEMENT >::~CapProblem

Destructor. Make sure to clean up all allocated memory, so that multiple instances of the problem don't lead to excessive memory usage.

Definition at line 330 of file static_single_layer.cc.

◆ CapProblem() [2/2]

template<class ELEMENT >
CapProblem< ELEMENT >::CapProblem ( const unsigned &  Nx,
const unsigned &  Nh1,
const unsigned &  Nh2 
)

Member Function Documentation

◆ actions_before_newton_convergence_check() [1/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::actions_before_newton_convergence_check ( )
inline

Update the spine mesh after every Newton step.

Definition at line 94 of file static_single_layer.cc.

◆ actions_before_newton_convergence_check() [2/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::actions_before_newton_convergence_check ( )
inline

Update the spine mesh after every Newton step.

Definition at line 102 of file static_two_layer.cc.

◆ create_volume_constraint_elements() [1/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::create_volume_constraint_elements

Create the volume constraint elements.

Definition at line 374 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ create_volume_constraint_elements() [2/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::create_volume_constraint_elements ( )

Create the volume constraint elements.

◆ doc_solution() [1/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info)

Doc the solution.

Definition at line 463 of file static_single_layer.cc.

◆ doc_solution() [2/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info)

Doc the solution.

◆ finish_problem_setup()

template<class ELEMENT >
void CapProblem< ELEMENT >::finish_problem_setup ( )

Finish full specification of the elements.

◆ parameter_study() [1/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::parameter_study

Peform a parameter study: Solve problem for a range of contact angles.

Perform a parameter study.

Definition at line 335 of file static_two_layer.cc.

◆ parameter_study() [2/2]

template<class ELEMENT >
void CapProblem< ELEMENT >::parameter_study ( const string &  dir_name)

Perform a parameter study: Solve problem for a range of contact angles Pass name of output directory as a string.

Perform a parameter study. Pass name of output directory as a string.

Definition at line 419 of file static_single_layer.cc.

Referenced by main().

Member Data Documentation

◆ Angle

template<class ELEMENT >
double CapProblem< ELEMENT >::Angle
private

The contact angle.

Definition at line 114 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Bulk_mesh_pt [1/2]

template<class ELEMENT >
SingleLayerSpineMesh<SpineElement<ELEMENT> >* CapProblem< ELEMENT >::Bulk_mesh_pt
private

The bulk mesh of fluid elements.

Definition at line 117 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Bulk_mesh_pt [2/2]

template<class ELEMENT >
TwoLayerSpineMesh<SpineElement<ELEMENT> >* CapProblem< ELEMENT >::Bulk_mesh_pt

Pointer to the mesh.

Definition at line 93 of file static_two_layer.cc.

◆ Ca

template<class ELEMENT >
double CapProblem< ELEMENT >::Ca
private

The Capillary number.

Definition at line 105 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ External_pressure_data_pt

template<class ELEMENT >
Data* CapProblem< ELEMENT >::External_pressure_data_pt
private

Data object whose single value stores the external pressure.

Definition at line 132 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Pext

template<class ELEMENT >
double CapProblem< ELEMENT >::Pext
private

The external pressure.

Definition at line 111 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Point_mesh_pt

template<class ELEMENT >
Mesh * CapProblem< ELEMENT >::Point_mesh_pt
private

The mesh for the element at the contact point.

Pointer to the point mesh.

Definition at line 123 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Surface_mesh_pt

template<class ELEMENT >
Mesh * CapProblem< ELEMENT >::Surface_mesh_pt
private

The mesh for the interface elements.

Pointer to the surface mesh.

Definition at line 120 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Trace_file

template<class ELEMENT >
ofstream CapProblem< ELEMENT >::Trace_file
private

Trace file.

Definition at line 129 of file static_single_layer.cc.

◆ Traded_pressure_data_pt

template<class ELEMENT >
Data * CapProblem< ELEMENT >::Traded_pressure_data_pt
private

Data that is traded for the volume constraint.

Definition at line 135 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().

◆ Volume

template<class ELEMENT >
double CapProblem< ELEMENT >::Volume
private

The volume of the fluid.

Definition at line 108 of file static_single_layer.cc.

◆ Volume_constraint_mesh_pt

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

The volume constraint mesh.

Definition at line 126 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem().


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