SPI
SLEPc PETSc Interface is used for rapid development and intuitive matrix operations similar to MatLab or NumPy style of operations
SPILST.hpp
Go to the documentation of this file.
1 #ifndef SPILST_H
2 #define SPILST_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 "SPIMat.hpp"
11 #include "SPIVec.hpp"
12 #include "SPIbaseflow.hpp"
13 #include "SPIgrid.hpp"
14 #include "SPIparams.hpp"
15 
16 namespace SPI{
17  std::tuple<PetscScalar, SPIVec> LST_temporal(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow,SPIVec q=SPIVec()); // temporal LST solution
18  std::tuple<PetscScalar, SPIVec> LST_spatial(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec q=SPIVec()); // spatial LST solution
19  std::tuple<PetscScalar, PetscScalar, SPIVec, SPIVec> LST_spatial_cg(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow); // spatial LST solution
20  std::tuple<PetscScalar, PetscScalar, SPIVec, SPIVec> LSTNP_spatial(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec ql=SPIVec(),SPIVec qr=SPIVec()); // spatial non-parallel LST solution
21  std::tuple<PetscScalar, SPIVec> LSTNP_spatial_right(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec qr=SPIVec()); // spatial non-parallel LST solution
22  std::tuple<PetscScalar, SPIVec> LSTNP_spatial_right2(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec qr=SPIVec()); // spatial non-parallel LST solution
23  std::tuple<std::vector<PetscScalar>, std::vector<SPIVec>> LSTNP_spatials_right(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, std::vector<PetscScalar> &alphas, std::vector<SPIVec> &qrs); // spatial non-parallel LST solution for multiple specific alphas
24 }
25 #endif // SPILST_H
SPIparams.hpp
SPI::LST_spatial_cg
std::tuple< PetscScalar, PetscScalar, SPIVec, SPIVec > LST_spatial_cg(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow)
solve the local stability theory problem for the linearized Navier-Stokes equations using parallel ba...
Definition: SPILST.cpp:349
SPI::LST_temporal
std::tuple< PetscScalar, SPIVec > LST_temporal(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec q=SPIVec())
solve the local stability theory problem for the linearized Navier-Stokes equations using parallel ba...
Definition: SPILST.cpp:5
SPI
Definition: SPIbaseflow.hpp:16
SPI::LSTNP_spatial_right2
std::tuple< PetscScalar, SPIVec > LSTNP_spatial_right2(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec qr=SPIVec())
solve the local stability theory problem for the linearized Navier-Stokes equations using parallel ba...
Definition: SPILST.cpp:1276
SPI::LST_spatial
std::tuple< PetscScalar, SPIVec > LST_spatial(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec q=SPIVec())
solve the local stability theory problem for the linearized Navier-Stokes equations using parallel ba...
Definition: SPILST.cpp:147
SPI::LSTNP_spatials_right
std::tuple< std::vector< PetscScalar >, std::vector< SPIVec > > LSTNP_spatials_right(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, std::vector< PetscScalar > &alphas, std::vector< SPIVec > &qrs)
solve the local stability theory problem for the linearized Navier-Stokes equations using non-paralle...
Definition: SPILST.cpp:1482
SPI::LSTNP_spatial
std::tuple< PetscScalar, PetscScalar, SPIVec, SPIVec > LSTNP_spatial(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec ql=SPIVec(), SPIVec qr=SPIVec())
solve the local stability theory problem for the linearized Navier-Stokes equations using parallel ba...
Definition: SPILST.cpp:715
SPIMat.hpp
SPIVec.hpp
SPIbaseflow.hpp
SPI::LSTNP_spatial_right
std::tuple< PetscScalar, SPIVec > LSTNP_spatial_right(SPIparams &params, SPIgrid1D &grid, SPIbaseflow &baseflow, SPIVec qr=SPIVec())
solve the local stability theory problem for the linearized Navier-Stokes equations using parallel ba...
Definition: SPILST.cpp:1046
SPIgrid.hpp