SPI
SLEPc PETSc Interface is used for rapid development and intuitive matrix operations similar to MatLab or NumPy style of operations
|
#include <SPIgrid.hpp>
Public Member Functions | |
SPIgrid2D (SPIVec &y, SPIVec &t, std::string name="SPIgrid2D", gridtype y_gridtype=FD, gridtype t_gridtype=Fourier) | |
constructor with no arguments (set default values) More... | |
~SPIgrid2D () | |
destructor of saved SPIVec and SPIMat More... | |
void | print () |
saves grid to internal grid More... | |
void | set_grid (SPIVec &y, SPIVec &t) |
saves grid to internal grid More... | |
void | set_derivatives (PetscInt order=4) |
sets derivatives Dy and Dyy using saved grid More... | |
void | set_operators () |
sets zero and identity operators for grid More... | |
Data Fields | |
PetscInt | ny |
PetscInt | nt |
std::string | name |
name of grid More... | |
SPIVec | y |
grid for wall-normal dimension More... | |
SPIVec | t |
grid for time dimension More... | |
SPIMat | T |
transform from chebyshev to physical More... | |
SPIMat | That |
transform from physical to chebyshev More... | |
SPIMat | S1S0That |
UltraSpherical helper matrix S1*S0*That for baseflow. More... | |
SPIMat | S0invS1inv |
inverse of S0^-1 * S1^-1 More... | |
SPIMat | FT |
Fourier Transform operator from physical space to wavenumber space for time. More... | |
SPIMat | FTinv |
inverse Fourier Transform from wavenumber space to physical space for time More... | |
SPIMat | Ihalf |
positive wavenumbers from FT More... | |
SPIMat | Ihalfn |
negative wavenumbers from FT More... | |
SPIMat | FT4 |
Fourier Transform operator from physical space to wavenumber space for time. For 4 variable state vector. More... | |
SPIMat | FTinv4 |
inverse Fourier Transform from wavenumber space to physical space for time. For 4 variable state vector More... | |
SPIMat | Ihalf4 |
positive wavenumbers from FT. For 4 variable state vector More... | |
SPIMat | Ihalfn4 |
negative wavenumbers from FT. For 4 variable state vector More... | |
gridtype | ytype |
type of grid for wall-normal dimension More... | |
gridtype | ttype |
type of grid for time dimension More... | |
SPIgrid1D | grid1Dy |
SPIgrid1D | grid1Dt |
SPIMat | Dy |
1st derivative operator with respect to y of size ny*nt x ny*nt More... | |
SPIMat | Dyy |
2nd derivative operator with respect to y of size ny*nt x ny*nt More... | |
SPIMat | Dt |
1st derivative operator with respect to t of size ny*nt x ny*nt More... | |
SPIMat | O |
zero matrix same size as derivative operators of size ny*nt x ny*nt More... | |
SPIMat | I |
identity matrix same size as derivative operators of size ny*nt x ny*nt More... | |
SPIMat | avgt |
average in time operator More... | |
PetscBool | flag_set_grid =PETSC_FALSE |
flag if set_grid has been executed More... | |
PetscBool | flag_set_derivatives =PETSC_FALSE |
flag if set_derivatives has been executed More... | |
PetscBool | flag_set_operators =PETSC_FALSE |
flag if set_operators has been executed More... | |
Definition at line 72 of file SPIgrid.hpp.
SPI::SPIgrid2D::SPIgrid2D | ( | SPIVec & | y, |
SPIVec & | t, | ||
std::string | name = "SPIgrid2D" , |
||
gridtype | y_gridtype = FD , |
||
gridtype | t_gridtype = Fourier |
||
) |
constructor with no arguments (set default values)
[in] | y | [in] grid in wall-normal direction to save |
[in] | t | [in] grid in time dimension to save |
[in] | name | [in] name of grid (default to SPIgrid1D) |
[in] | y_gridtype | [in] what type of grid (default finite difference FD) |
[in] | t_gridtype | [in] what type of grid (default Fourier Transform FT) |
Definition at line 633 of file SPIgrid.cpp.
SPI::SPIgrid2D::~SPIgrid2D | ( | ) |
destructor of saved SPIVec and SPIMat
Definition at line 809 of file SPIgrid.cpp.
void SPI::SPIgrid2D::print | ( | ) |
saves grid to internal grid
Definition at line 654 of file SPIgrid.cpp.
void SPI::SPIgrid2D::set_derivatives | ( | PetscInt | order = 4 | ) |
sets derivatives Dy and Dyy using saved grid
[in] | order | [in] order of accuracy of finite difference derivative (default 4) |
Definition at line 692 of file SPIgrid.cpp.
saves grid to internal grid
[in] | y | [in] grid in wall-normal dimension to save |
[in] | t | [in] grid in time dimension to save |
Definition at line 676 of file SPIgrid.cpp.
void SPI::SPIgrid2D::set_operators | ( | ) |
sets zero and identity operators for grid
Definition at line 772 of file SPIgrid.cpp.
SPIMat SPI::SPIgrid2D::avgt |
average in time operator
Definition at line 113 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Dt |
1st derivative operator with respect to t of size ny*nt x ny*nt
Definition at line 109 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Dy |
1st derivative operator with respect to y of size ny*nt x ny*nt
Definition at line 107 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Dyy |
2nd derivative operator with respect to y of size ny*nt x ny*nt
Definition at line 108 of file SPIgrid.hpp.
PetscBool SPI::SPIgrid2D::flag_set_derivatives =PETSC_FALSE |
flag if set_derivatives has been executed
Definition at line 116 of file SPIgrid.hpp.
PetscBool SPI::SPIgrid2D::flag_set_grid =PETSC_FALSE |
flag if set_grid has been executed
Definition at line 115 of file SPIgrid.hpp.
PetscBool SPI::SPIgrid2D::flag_set_operators =PETSC_FALSE |
flag if set_operators has been executed
Definition at line 117 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::FT |
Fourier Transform operator from physical space to wavenumber space for time.
Definition at line 89 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::FT4 |
Fourier Transform operator from physical space to wavenumber space for time. For 4 variable state vector.
Definition at line 93 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::FTinv |
inverse Fourier Transform from wavenumber space to physical space for time
Definition at line 90 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::FTinv4 |
inverse Fourier Transform from wavenumber space to physical space for time. For 4 variable state vector
Definition at line 94 of file SPIgrid.hpp.
SPIgrid1D SPI::SPIgrid2D::grid1Dt |
Definition at line 105 of file SPIgrid.hpp.
SPIgrid1D SPI::SPIgrid2D::grid1Dy |
Definition at line 105 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::I |
identity matrix same size as derivative operators of size ny*nt x ny*nt
Definition at line 112 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Ihalf |
positive wavenumbers from FT
Definition at line 91 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Ihalf4 |
positive wavenumbers from FT. For 4 variable state vector
Definition at line 95 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Ihalfn |
negative wavenumbers from FT
Definition at line 92 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::Ihalfn4 |
negative wavenumbers from FT. For 4 variable state vector
Definition at line 96 of file SPIgrid.hpp.
std::string SPI::SPIgrid2D::name |
name of grid
Definition at line 81 of file SPIgrid.hpp.
PetscInt SPI::SPIgrid2D::nt |
Definition at line 75 of file SPIgrid.hpp.
PetscInt SPI::SPIgrid2D::ny |
Definition at line 75 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::O |
zero matrix same size as derivative operators of size ny*nt x ny*nt
Definition at line 111 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::S0invS1inv |
inverse of S0^-1 * S1^-1
Definition at line 88 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::S1S0That |
UltraSpherical helper matrix S1*S0*That for baseflow.
Definition at line 87 of file SPIgrid.hpp.
SPIVec SPI::SPIgrid2D::t |
grid for time dimension
Definition at line 84 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::T |
transform from chebyshev to physical
Definition at line 85 of file SPIgrid.hpp.
SPIMat SPI::SPIgrid2D::That |
transform from physical to chebyshev
Definition at line 86 of file SPIgrid.hpp.
gridtype SPI::SPIgrid2D::ttype |
type of grid for time dimension
Definition at line 98 of file SPIgrid.hpp.
SPIVec SPI::SPIgrid2D::y |
grid for wall-normal dimension
Definition at line 83 of file SPIgrid.hpp.
gridtype SPI::SPIgrid2D::ytype |
type of grid for wall-normal dimension
Definition at line 97 of file SPIgrid.hpp.