Public Member Functions | Protected Attributes | Private Attributes | List of all members
RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT > Class Template Reference

/////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// More...

Inheritance diagram for RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >:

Public Member Functions

 RefineableConvectionProblem ()
 Constructor. More...
 
 ~RefineableConvectionProblem ()
 Destructor. Empty. More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve: More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
RefineableRectangularQuadMesh< NST_ELEMENT > * nst_mesh_pt ()
 Access function to the NST mesh. Casts the pointer to the base Mesh object to the actual mesh type. More...
 
RefineableRectangularQuadMesh< AD_ELEMENT > * adv_diff_mesh_pt ()
 Access function to the AD mesh. Casts the pointer to the base Mesh object to the actual mesh type. More...
 
void actions_before_adapt ()
 Actions before adapt:(empty) More...
 
void actions_after_adapt ()
 Actions after adaptation, reset all sources, then re-pin a single pressure degree of freedom. More...
 
void fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue)
 Fix pressure in element e at pressure dof pdof and set to pvalue. More...
 
void enable_imperfection ()
 Set the boundary condition on the upper wall to be perturbed slightly to force the solution into the symmetry broken state. More...
 
void disable_imperfection ()
 Set th boundary condition on the upper wall to be unperturbed. More...
 
void doc_solution ()
 Doc the solution. More...
 
 RefineableConvectionProblem ()
 Constructor. More...
 
 ~RefineableConvectionProblem ()
 Destructor. Empty. More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve: More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
RectangularQuadMesh< ELEMENT > * mesh_pt ()
 Overloaded version of the problem's access function to the mesh. Recasts the pointer to the base Mesh object to the actual mesh type. More...
 
void actions_before_adapt ()
 Actions before adapt:(empty) More...
 
void actions_after_adapt ()
 Actions after adaptation, Re-pin a single pressure degree of freedom. More...
 
void fix_pressure (const unsigned &e, const unsigned &pdof, const double &pvalue)
 Fix pressure in element e at pressure dof pdof and set to pvalue. More...
 
void enable_imperfection ()
 Set the boundary condition on the upper wall to be perturbed slightly to force the solution into the symmetry broken state. More...
 
void disable_imperfection ()
 Set the boundary condition on the upper wall to be unperturbed. More...
 
void doc_solution ()
 Doc the solution. More...
 

Protected Attributes

RefineableRectangularQuadMesh< NST_ELEMENT > * Nst_mesh_pt
 Navier Stokes mesh. More...
 
RefineableRectangularQuadMesh< AD_ELEMENT > * Adv_diff_mesh_pt
 Advection diffusion mesh. More...
 

Private Attributes

DocInfo Doc_info
 DocInfo object. More...
 
bool Imperfect
 Is the boundary condition imperfect or not. More...
 

Detailed Description

template<class NST_ELEMENT, class AD_ELEMENT>
class RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >

/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////

2D Convection problem on two rectangular domains, discretised with refineable Navier-Stokes and Advection-Diffusion elements. The specific type of element is specified via the template parameters.

2D Convection problem on rectangular domain, discretised with refineable elements. The specific type of element is specified via the template parameter.

Definition at line 80 of file multi_domain_ref_b_convection.cc.

Constructor & Destructor Documentation

◆ RefineableConvectionProblem() [1/2]

template<class ELEMENT >
RefineableConvectionProblem< ELEMENT >::RefineableConvectionProblem

◆ ~RefineableConvectionProblem() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::~RefineableConvectionProblem ( )
inline

Destructor. Empty.

Definition at line 89 of file multi_domain_ref_b_convection.cc.

◆ RefineableConvectionProblem() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::RefineableConvectionProblem ( )

Constructor.

◆ ~RefineableConvectionProblem() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::~RefineableConvectionProblem ( )
inline

Destructor. Empty.

Definition at line 93 of file refineable_b_convection.cc.

Member Function Documentation

◆ actions_after_adapt() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_adapt ( )
inline

◆ actions_after_adapt() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_adapt ( )
inline

Actions after adaptation, Re-pin a single pressure degree of freedom.

Definition at line 115 of file refineable_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::fix_pressure(), and RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::mesh_pt().

◆ actions_after_newton_solve() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_newton_solve ( )
inline

Update the problem after solve (empty)

Definition at line 95 of file multi_domain_ref_b_convection.cc.

◆ actions_after_newton_solve() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_newton_solve ( )
inline

Update the problem after solve (empty)

Definition at line 99 of file refineable_b_convection.cc.

◆ actions_before_adapt() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_before_adapt ( )
inline

Actions before adapt:(empty)

Definition at line 116 of file multi_domain_ref_b_convection.cc.

◆ actions_before_adapt() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_before_adapt ( )
inline

Actions before adapt:(empty)

Definition at line 111 of file refineable_b_convection.cc.

◆ actions_before_newton_solve() [1/2]

template<class ELEMENT >
void RefineableConvectionProblem< ELEMENT >::actions_before_newton_solve

Update the problem specs before solve:

Update the problem specs before solve: (Re-)set boundary conditions to include an imperfection (or not) depending on the control flag.

Definition at line 364 of file multi_domain_ref_b_convection.cc.

◆ actions_before_newton_solve() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_before_newton_solve ( )

Update the problem specs before solve:

◆ adv_diff_mesh_pt()

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableRectangularQuadMesh< AD_ELEMENT > * RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::adv_diff_mesh_pt ( )
inline

Access function to the AD mesh. Casts the pointer to the base Mesh object to the actual mesh type.

Definition at line 109 of file multi_domain_ref_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Adv_diff_mesh_pt.

Referenced by RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_adapt().

◆ disable_imperfection() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::disable_imperfection ( )
inline

Set th boundary condition on the upper wall to be unperturbed.

Definition at line 158 of file multi_domain_ref_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Imperfect.

◆ disable_imperfection() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::disable_imperfection ( )
inline

Set the boundary condition on the upper wall to be unperturbed.

Definition at line 142 of file refineable_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Imperfect.

◆ doc_solution() [1/2]

template<class ELEMENT >
void RefineableConvectionProblem< ELEMENT >::doc_solution

Doc the solution.

Definition at line 432 of file multi_domain_ref_b_convection.cc.

◆ doc_solution() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::doc_solution ( )

Doc the solution.

◆ enable_imperfection() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::enable_imperfection ( )
inline

Set the boundary condition on the upper wall to be perturbed slightly to force the solution into the symmetry broken state.

Definition at line 154 of file multi_domain_ref_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Imperfect.

◆ enable_imperfection() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::enable_imperfection ( )
inline

Set the boundary condition on the upper wall to be perturbed slightly to force the solution into the symmetry broken state.

Definition at line 138 of file refineable_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Imperfect.

◆ fix_pressure() [1/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::fix_pressure ( const unsigned &  e,
const unsigned &  pdof,
const double &  pvalue 
)
inline

◆ fix_pressure() [2/2]

template<class NST_ELEMENT , class AD_ELEMENT >
void RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::fix_pressure ( const unsigned &  e,
const unsigned &  pdof,
const double &  pvalue 
)
inline

Fix pressure in element e at pressure dof pdof and set to pvalue.

Definition at line 127 of file refineable_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::fix_pressure(), and RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::mesh_pt().

◆ mesh_pt()

template<class NST_ELEMENT , class AD_ELEMENT >
RectangularQuadMesh< ELEMENT > * RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::mesh_pt ( )
inline

Overloaded version of the problem's access function to the mesh. Recasts the pointer to the base Mesh object to the actual mesh type.

Definition at line 104 of file refineable_b_convection.cc.

Referenced by RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_adapt(), and RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::fix_pressure().

◆ nst_mesh_pt()

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableRectangularQuadMesh< NST_ELEMENT > * RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::nst_mesh_pt ( )
inline

Access function to the NST mesh. Casts the pointer to the base Mesh object to the actual mesh type.

Definition at line 100 of file multi_domain_ref_b_convection.cc.

References RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Nst_mesh_pt.

Referenced by RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_after_adapt(), and RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::fix_pressure().

Member Data Documentation

◆ Adv_diff_mesh_pt

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableRectangularQuadMesh<AD_ELEMENT>* RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Adv_diff_mesh_pt
protected

Advection diffusion mesh.

Definition at line 177 of file multi_domain_ref_b_convection.cc.

Referenced by RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::adv_diff_mesh_pt().

◆ Doc_info

template<class NST_ELEMENT , class AD_ELEMENT >
DocInfo RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Doc_info
private

DocInfo object.

Definition at line 166 of file multi_domain_ref_b_convection.cc.

◆ Imperfect

template<class NST_ELEMENT , class AD_ELEMENT >
bool RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Imperfect
private

◆ Nst_mesh_pt

template<class NST_ELEMENT , class AD_ELEMENT >
RefineableRectangularQuadMesh<NST_ELEMENT>* RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::Nst_mesh_pt
protected

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