SPI
SLEPc PETSc Interface is used for rapid development and intuitive matrix operations similar to MatLab or NumPy style of operations
SPIbaseflow.hpp
Go to the documentation of this file.
1 #ifndef SPIBASEFLOW_H
2 #define SPIBASEFLOW_H
3 #include <iostream>
4 #include <vector>
5 #include <petscksp.h>
6 #include <slepceps.h>
7 #include <slepcpep.h>
8 #include <string>
9 #include <tuple>
10 #include "SPIgrid.hpp"
11 #include "SPIparams.hpp"
12 #include "SPIMat.hpp"
13 #include "SPIVec.hpp"
14 #include "SPIprint.hpp"
15 
16 namespace SPI{
17  struct SPIbaseflow{
18  SPIbaseflow(std::string _name="baseflow"); // constructor with no arguments
20  SPIVec U,
21  SPIVec V,
22  SPIVec Ux,
23  SPIVec Uxx, // added for streamwise viscous marching BL
24  SPIVec Uy,
25  SPIVec Uxy,
26  SPIVec Vx, // added for full terms
27  SPIVec Vxx, // added for streamwise viscous marching BL
28  SPIVec Vy,
29  SPIVec W,
30  SPIVec Wx,
31  SPIVec Wy,
32  SPIVec Wxy,
33  SPIVec P,
34  std::string _name="baseflow"); // constructor with baseflow values
35  std::string name;
36  PetscErrorCode ierr;
37  PetscBool flag_init=PETSC_FALSE;
38  PetscInt print(); // print baseflow to screen
39  SPIVec U, // streamwise baseflow
40  V, // wall-normal baseflow
41  Ux, // streamwise baseflow derivative with respect to streamwise
42  Uxx, // streamwise baseflow second derivative with respect to streamwise
43  Uy, // streamwise baseflow derivative with respect to wall-normal
44  Uxy, // streamwise baseflow mixed derivative
45  Vx, // wall-normal baseflow derivative with respect to streamwise
46  Vxx, // wall-normal baseflow second derivative with respect to streamwise
47  Vy, // wall-normal baseflow derivative with respect to wall-normal
48  W, // spanwise baseflow
49  Wx, // spanwise baseflow derivative with respect to streamwise
50  Wy, // spanwise baseflow derivative with respect to wall-normal
51  Wxy, // spanwise baseflow mixed derivative
52  P; // pressure baseflow
53  ~SPIbaseflow(); // destructor to delete memory
54  };
55  SPIbaseflow blasius(SPIparams &params, SPIgrid1D &grid);
56  int _bblf( const PetscScalar input[3], PetscScalar output[3]); // Blasius boundary layer flow ODE
57  SPIbaseflow channel(SPIparams &params, SPIgrid1D &grid);
58 }
59 #endif // SPIBASEFLOW_H
SPIprint.hpp
SPI::SPIbaseflow::ierr
PetscErrorCode ierr
ierr for various routines and operations
Definition: SPIbaseflow.hpp:36
SPI::SPIbaseflow::Uxy
SPIVec Uxy
Definition: SPIbaseflow.hpp:44
SPI::SPIbaseflow::Uxx
SPIVec Uxx
Definition: SPIbaseflow.hpp:42
SPI::SPIbaseflow::V
SPIVec V
Definition: SPIbaseflow.hpp:40
SPI::SPIbaseflow::Vxx
SPIVec Vxx
Definition: SPIbaseflow.hpp:46
SPIparams.hpp
SPI::SPIgrid1D
Class to contain various grid parameters.
Definition: SPIgrid.hpp:35
SPI::SPIbaseflow::Vx
SPIVec Vx
Definition: SPIbaseflow.hpp:45
SPI::SPIVec
Definition: SPIVec.hpp:13
SPI::SPIbaseflow::name
std::string name
baseflow name
Definition: SPIbaseflow.hpp:35
SPI::SPIbaseflow::Vy
SPIVec Vy
Definition: SPIbaseflow.hpp:47
SPI
Definition: SPIbaseflow.hpp:16
SPI::SPIbaseflow::print
PetscInt print()
print baseflow values
Definition: SPIbaseflow.cpp:45
SPI::SPIbaseflow::Wy
SPIVec Wy
Definition: SPIbaseflow.hpp:50
SPI::SPIbaseflow::P
SPIVec P
Definition: SPIbaseflow.hpp:52
SPI::SPIbaseflow::Uy
SPIVec Uy
Definition: SPIbaseflow.hpp:43
SPI::SPIbaseflow::SPIbaseflow
SPIbaseflow(std::string _name="baseflow")
constructor with no arguments
Definition: SPIbaseflow.cpp:6
SPI::SPIbaseflow::Wx
SPIVec Wx
Definition: SPIbaseflow.hpp:49
SPI::blasius
SPIbaseflow blasius(SPIparams &params, SPIgrid1D &grid)
Definition: SPIbaseflow.cpp:90
SPI::SPIbaseflow::Ux
SPIVec Ux
Definition: SPIbaseflow.hpp:41
SPI::_bblf
int _bblf(const PetscScalar input[3], PetscScalar output[3])
Definition: SPIbaseflow.cpp:243
SPI::SPIbaseflow::Wxy
SPIVec Wxy
Definition: SPIbaseflow.hpp:51
SPI::channel
SPIbaseflow channel(SPIparams &params, SPIgrid1D &grid)
Definition: SPIbaseflow.cpp:253
SPIMat.hpp
SPIVec.hpp
SPI::SPIbaseflow::W
SPIVec W
Definition: SPIbaseflow.hpp:48
SPI::SPIbaseflow::U
SPIVec U
Definition: SPIbaseflow.hpp:39
SPI::SPIbaseflow::flag_init
PetscBool flag_init
flag if it has been initialized
Definition: SPIbaseflow.hpp:37
SPI::SPIparams
Definition: SPIparams.hpp:8
SPI::SPIbaseflow::~SPIbaseflow
~SPIbaseflow()
destructor of saved SPIVec of baseflow
Definition: SPIbaseflow.cpp:71
SPI::SPIbaseflow
Definition: SPIbaseflow.hpp:17
SPIgrid.hpp