Public Member Functions | Private Member Functions | List of all members
RotatingCylinderProblem< ELEMENT, TIMESTEPPER > Class Template Reference

Refineable rotating cylinder problem in a rectangular axisymmetric domain. More...

Inheritance diagram for RotatingCylinderProblem< ELEMENT, TIMESTEPPER >:

Public Member Functions

 RotatingCylinderProblem (const unsigned &n_r, const unsigned &n_z, const double &l_r, const double &l_z)
 Constructor for refineable rotating cylinder problem. More...
 
 ~RotatingCylinderProblem ()
 Destructor (empty) More...
 
void set_initial_condition ()
 Set initial conditions. More...
 
void set_boundary_conditions ()
 Set boundary conditions. More...
 
void doc_solution (DocInfo &doc_info)
 Document the solution. More...
 
void unsteady_run (const double &t_max, const double &dt, const string dir_name)
 Do unsteady run up to maximum time t_max with given timestep dt. More...
 
RefineableRectangularQuadMesh< ELEMENT > * mesh_pt ()
 Access function for the specific mesh. More...
 

Private Member Functions

void actions_before_newton_solve ()
 Update the problem specs before solve. Reset velocity boundary conditions just to be on the safe side... More...
 
void actions_after_newton_solve ()
 No actions required after solve step. More...
 
void actions_after_adapt ()
 After adaptation: Pin pressure again (the previously pinned value might have disappeared) and pin redudant pressure dofs. 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...
 

Detailed Description

template<class ELEMENT, class TIMESTEPPER>
class RotatingCylinderProblem< ELEMENT, TIMESTEPPER >

Refineable rotating cylinder problem in a rectangular axisymmetric domain.

Definition at line 75 of file spin_up.cc.

Constructor & Destructor Documentation

◆ RotatingCylinderProblem()

template<class ELEMENT , class TIMESTEPPER >
RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::RotatingCylinderProblem ( const unsigned &  n_r,
const unsigned &  n_z,
const double &  l_r,
const double &  l_z 
)

Constructor for refineable rotating cylinder problem.

Constructor: Pass the number of elements and the lengths of the domain in the radial (r) and axial (z) directions

Definition at line 153 of file spin_up.cc.

References Global_Physical_Variables::Re, and Global_Physical_Variables::ReSt.

Referenced by RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::fix_pressure().

◆ ~RotatingCylinderProblem()

template<class ELEMENT , class TIMESTEPPER >
RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::~RotatingCylinderProblem ( )
inline

Destructor (empty)

Definition at line 86 of file spin_up.cc.

Member Function Documentation

◆ actions_after_adapt()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::actions_after_adapt ( )
inlineprivate

After adaptation: Pin pressure again (the previously pinned value might have disappeared) and pin redudant pressure dofs.

Definition at line 119 of file spin_up.cc.

◆ actions_after_newton_solve()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::actions_after_newton_solve ( )
inlineprivate

No actions required after solve step.

Definition at line 115 of file spin_up.cc.

◆ actions_before_newton_solve()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::actions_before_newton_solve ( )
inlineprivate

Update the problem specs before solve. Reset velocity boundary conditions just to be on the safe side...

Definition at line 112 of file spin_up.cc.

◆ doc_solution()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::doc_solution ( DocInfo &  doc_info)

◆ fix_pressure()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::fix_pressure ( const unsigned &  e,
const unsigned &  pdof,
const double &  pvalue 
)
inlineprivate

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

Definition at line 135 of file spin_up.cc.

References RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::RotatingCylinderProblem().

◆ mesh_pt()

template<class ELEMENT , class TIMESTEPPER >
RefineableRectangularQuadMesh<ELEMENT>* RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::mesh_pt ( )
inline

Access function for the specific mesh.

Definition at line 102 of file spin_up.cc.

◆ set_boundary_conditions()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions ( )

Set boundary conditions.

Set boundary conditions: Set both velocity components to zero on the bottom (solid) wall and the horizontal component only to zero on the side (periodic) boundaries.

Definition at line 278 of file spin_up.cc.

References RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::doc_solution().

◆ set_initial_condition()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::set_initial_condition ( )

Set initial conditions.

Set initial conditions: Set all nodal velocities to zero and initialise the previous velocities to correspond to an impulsive start.

Definition at line 248 of file spin_up.cc.

◆ unsteady_run()

template<class ELEMENT , class TIMESTEPPER >
void RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::unsteady_run ( const double &  t_max,
const double &  dt,
const string  dir_name 
)

Do unsteady run up to maximum time t_max with given timestep dt.

Perform run up to specified time t_max with given timestep dt.

Definition at line 356 of file spin_up.cc.

Referenced by RotatingCylinderProblem< ELEMENT, TIMESTEPPER >::doc_solution().


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