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

Public Member Functions

 CapProblem (const bool &hijack_internal)
 
 ~CapProblem ()
 
void parameter_study (const string &dir_name)
 
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 81 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 334 of file static_single_layer.cc.

References CapProblem< ELEMENT >::Bulk_mesh_pt, CapProblem< ELEMENT >::External_pressure_data_pt, CapProblem< ELEMENT >::Point_mesh_pt, CapProblem< ELEMENT >::Surface_mesh_pt, CapProblem< ELEMENT >::Traded_pressure_data_pt, and CapProblem< ELEMENT >::Volume_constraint_mesh_pt.

◆ 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 98 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 106 of file static_two_layer.cc.

References CapProblem< ELEMENT >::CapProblem().

◆ create_volume_constraint_elements() [1/2]

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

◆ 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_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 339 of file static_two_layer.cc.

References CapProblem< ELEMENT >::doc_solution().

◆ 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 423 of file static_single_layer.cc.

References CapProblem< ELEMENT >::Angle, CapProblem< ELEMENT >::doc_solution(), and CapProblem< ELEMENT >::Trace_file.

Referenced by main().

Member Data Documentation

◆ Angle

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

◆ Bulk_mesh_pt [1/2]

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

Pointer to the mesh.

Definition at line 97 of file static_two_layer.cc.

◆ Bulk_mesh_pt [2/2]

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

◆ Ca

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

The Capillary number.

Definition at line 109 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem(), and CapProblem< ELEMENT >::doc_solution().

◆ 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 136 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem(), CapProblem< ELEMENT >::doc_solution(), and CapProblem< ELEMENT >::~CapProblem().

◆ Pext

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

The external pressure.

Definition at line 115 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 127 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 124 of file static_single_layer.cc.

Referenced by CapProblem< ELEMENT >::CapProblem(), CapProblem< ELEMENT >::doc_solution(), and CapProblem< ELEMENT >::~CapProblem().

◆ Trace_file

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

◆ Traded_pressure_data_pt

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

◆ Volume

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

The volume of the fluid.

Definition at line 112 of file static_single_layer.cc.

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

◆ Volume_constraint_mesh_pt

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

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