This tutorial further explores the use of the spectral/hp element framework Nektar++ to perform global stability computations. Information on how to install the libraries, solvers, and utilities on your own computer is available on the webpage www.nektar.info.
This tutorial assumes the reader has already completed the previous tutorial in the Flow Stability series on the channel and therefore already has the necessary software installed.
Downloaded the tutorial files: flow-stability-cylinder.tar.gz
Unpack it using unzip flow-stability-cylinder.tar.gz
to produce a directory
flow-stability-cylinder
with subdirectories called tutorial
and complete
We
will refer to the tutorial
directory as $NEKTUTORIAL
.
In this tutorial we will compute the direct and adjoint modes of a two-dimensional flow past a cylinder. We will investigate a case in the subcritical regime (Re = 42), below the onset of the Bernard-von Kärmän vortex shedding that is observed when the Reynolds number is above the critical value Rec ≃ 47; this analysis is important because it allows us to study the sensitivity of the flow, much like that reported by Giannetti and Luchini ( J. Fluid Mech., 2007; 592:177-194). Due to the more complex nature of the flow and the more demanding computational time that is required, only some basic information will be presented in this section, mainly to show the potential of the code for stability analysis.
The files contained in the $NEKTUTORIAL
directory are as follows:
Folder geometry
Cylinder.geo
- Gmsh file that contains the geometry of the problem
Cylinder.msh
- Gmsh generated mesh data listing mesh vertices and
elements.
Folder base
Cylinder-Base.xml
- Nektar++
session file, generated with the $NEK/NekMesh
utility, for computing the base
flow.
Cylinder-Base.fld
- Nektar++ field file that contains the base flow,
generated using Cylinder-Base.xml
.
Folder stability/Direct
Cylinder_Direct.xml
- Nektar++ session file, generated with
$NEK/NekMesh
.
Cylinder_Direct.bse
- Nektar++ field file that contains the base flow.
Cylinder_Direct.rst
- Nektar++ field file that contains the initial
conditions.
Folder stability/Adjoint
Cylinder_Adjoint.xml
- Nektar++ session file, generated with
$NEK/NekMesh
.
Cylinder_Adjoint.bse
- Nektar++ field file that contains the base flow.
Cylinder_Adjoint.rst
- Nektar++ field file that contains the initial
conditions.
Folder stability/Receptivity
Pre-computed output files for calculating the
receptivity.
The mesh is shown in figure 1.1 along with a detailed view around the cylinder. This mesh is made up of 782 quadrilateral elements.
Note: It is important to note that stability and transient growth calculations in particular, have a strong dependence on the domain size as reported by Cantwell and Barkley (Physical Review E, 2010; 82); moreover, poor mesh design can lead to incorrect results. Specifically, the mesh must be sufficiently refined around the cylinder in order to capture the separation of the flow and abrupt variations in the size of the elements should be avoided.