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.
 
 ~CapProblem ()
 Destructor. Make sure to clean up all allocated memory, so that multiple instances of the problem don't lead to excessive memory usage.
 
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.
 
void actions_before_newton_convergence_check ()
 Update the spine mesh after every Newton step.
 
void create_volume_constraint_elements ()
 Create the volume constraint elements.
 
void doc_solution (DocInfo &doc_info)
 Doc the solution.
 
 CapProblem (const unsigned &Nx, const unsigned &Nh1, const unsigned &Nh2)
 Constructor.
 
void parameter_study ()
 Peform a parameter study: Solve problem for a range of contact angles.
 
void finish_problem_setup ()
 Finish full specification of the elements.
 
void actions_before_newton_convergence_check ()
 Update the spine mesh after every Newton step.
 
void create_volume_constraint_elements ()
 Create the volume constraint elements.
 
void doc_solution (DocInfo &doc_info)
 Doc the solution.
 

Public Attributes

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

Private Attributes

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

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.

References CapProblem< ELEMENT >::Bulk_mesh_pt.

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

References CapProblem< ELEMENT >::Bulk_mesh_pt.

◆ 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(), and 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(), and CapProblem< ELEMENT >::CapProblem().

◆ Bulk_mesh_pt [1/2]

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

◆ 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(), and 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(), and 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(), and 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(), and 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(), and CapProblem< ELEMENT >::CapProblem().


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