This code will compute the Spatial Perturbation Equations (SPE) for various flows along a flat plate (intent for complex geometry at later time). This will use the Orr-Sommerfeld solution, and will march it forward in streamwise coordinate \(x\). If we march the parallel version of the SPE, the solution procedure would be defined below.
Some validation was conducted part of an instabilities project in Fall 2018, this report can be found here Additionally, the new nonlinear solution procedure was defined in more detail here
All of the code is contained in the namespace SPE.
The SPE incompressible momentum equations are defined here for the cartesian directions
\[ \frac{\partial u'_i}{\partial t} + \bar{u}_j \frac{\partial u'_i}{\partial x_j} + u'_j \frac{\partial \bar{u}_i}{\partial x_j} + \frac 1 \rho \frac{\partial P'}{\partial x_i} - \nu \frac{\partial^2 u'_i}{\partial x_j \partial x_j} = - u'_j \frac{\partial u'_i}{\partial x_j} + \left\langle u'_j \frac{\partial u'_i}{\partial x_j} \right\rangle \]
along with continuity
\[ \frac{\partial u'_j}{\partial x_j} = 0 \]
and it is coupled with the boundary layer equations that are marched as shown here
\[ \begin{align} \frac{\partial \bar{u}}{\partial x} + \frac{\partial \bar{v}}{\partial y} &= 0\\ \bar{u} \frac{\partial \bar{u}}{\partial x} + \bar{v} \frac{\partial \bar{u}}{\partial y} + \frac 1 \rho \frac{\partial \bar{P}}{\partial x} - \nu \left( \frac{\partial^2 \bar{u}}{\partial y^2} \right) &= - \left\langle u'_j \frac{\partial u'}{\partial x_j}\right\rangle \\ \color{black}{\frac 1 \rho \frac{\partial \bar{P}}{\partial y}} &= -\left\langle u'_j \frac{\partial v'}{\partial x_j}\right\rangle \label{eq:BL2} \end{align} \]
These quations are marched using fourth order accurate derivatives in the wall normal \(y\) and spanwise \(z\) directions and first order in the streamwise \(x\) direction.
Make sure to compile PETSc with options
or with
or with the following to make the optimized version (instead of the default debug)
and follow the steps outlined in the output of this to obtain the MUMPS installation for LU decomposition in parallel. This last configure script is suggested. You may want to take note of the PETSC_DIR and PETSC_ARCH variables that are set, so you can use them in the SLEPc compilation
Also, to compile the slepc code, you may need to run the following command after setting the proper PETSC_DIR and PETSC_ARCH variables. Note: these variables are indicated while compiling PETSc
Download SPE Solver source code using following GitHub link:
https://github.com/stanfordhpccenter/SPE.git This is a private repository, so you will need permission. Contact srhar for further information. ris@ stanf ord. edu
This documentation contains the doxygen generated files for the SPE toolset. However, PETSc was written and used with a different documentation generator known as Sowing. http://wgropp.cs.illinois.edu/projects/software/sowing/
The full documentation for PETSc can be found here: http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf and here: https://www.mcs.anl.gov/petsc/index.html
The full documentation for SLEPc can be found here: http://slepc.upv.es/documentation/slepc.pdf and here: http://slepc.upv.es/documentation/