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

/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// 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: Pass the number of elements and the lengths of the domain in the radial (r) and axial (z) directions. 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 71 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: Pass the number of elements and the lengths of the domain in the radial (r) and axial (z) directions.

Constructor for refineable rotating cylinder problem.

Definition at line 148 of file spin_up.cc.

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

◆ ~RotatingCylinderProblem()

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

Destructor (empty)

Definition at line 82 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 115 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 111 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 108 of file spin_up.cc.

◆ doc_solution()

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

Document the solution.

Definition at line 319 of file spin_up.cc.

◆ 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 131 of file spin_up.cc.

◆ mesh_pt()

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

Access function for the specific mesh.

Definition at line 98 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 274 of file spin_up.cc.

◆ 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 244 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 351 of file spin_up.cc.


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