SPI
SLEPc PETSc Interface is used for rapid development and intuitive matrix operations similar to MatLab or NumPy style of operations
Public Member Functions | Data Fields
SPI::SPIgrid2D Struct Reference

#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...
 

Detailed Description

Definition at line 72 of file SPIgrid.hpp.

Constructor & Destructor Documentation

◆ SPIgrid2D()

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)

Parameters
[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.

◆ ~SPIgrid2D()

SPI::SPIgrid2D::~SPIgrid2D ( )

destructor of saved SPIVec and SPIMat

Definition at line 809 of file SPIgrid.cpp.

Member Function Documentation

◆ print()

void SPI::SPIgrid2D::print ( )

saves grid to internal grid

Definition at line 654 of file SPIgrid.cpp.

◆ set_derivatives()

void SPI::SPIgrid2D::set_derivatives ( PetscInt  order = 4)

sets derivatives Dy and Dyy using saved grid

Parameters
[in]order[in] order of accuracy of finite difference derivative (default 4)

Definition at line 692 of file SPIgrid.cpp.

◆ set_grid()

void SPI::SPIgrid2D::set_grid ( SPIVec y,
SPIVec t 
)

saves grid to internal grid

Parameters
[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.

◆ set_operators()

void SPI::SPIgrid2D::set_operators ( )

sets zero and identity operators for grid

Definition at line 772 of file SPIgrid.cpp.

Field Documentation

◆ avgt

SPIMat SPI::SPIgrid2D::avgt

average in time operator

Definition at line 113 of file SPIgrid.hpp.

◆ Dt

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.

◆ Dy

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.

◆ Dyy

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.

◆ flag_set_derivatives

PetscBool SPI::SPIgrid2D::flag_set_derivatives =PETSC_FALSE

flag if set_derivatives has been executed

Definition at line 116 of file SPIgrid.hpp.

◆ flag_set_grid

PetscBool SPI::SPIgrid2D::flag_set_grid =PETSC_FALSE

flag if set_grid has been executed

Definition at line 115 of file SPIgrid.hpp.

◆ flag_set_operators

PetscBool SPI::SPIgrid2D::flag_set_operators =PETSC_FALSE

flag if set_operators has been executed

Definition at line 117 of file SPIgrid.hpp.

◆ FT

SPIMat SPI::SPIgrid2D::FT

Fourier Transform operator from physical space to wavenumber space for time.

Definition at line 89 of file SPIgrid.hpp.

◆ FT4

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.

◆ FTinv

SPIMat SPI::SPIgrid2D::FTinv

inverse Fourier Transform from wavenumber space to physical space for time

Definition at line 90 of file SPIgrid.hpp.

◆ FTinv4

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.

◆ grid1Dt

SPIgrid1D SPI::SPIgrid2D::grid1Dt

Definition at line 105 of file SPIgrid.hpp.

◆ grid1Dy

SPIgrid1D SPI::SPIgrid2D::grid1Dy

Definition at line 105 of file SPIgrid.hpp.

◆ I

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.

◆ Ihalf

SPIMat SPI::SPIgrid2D::Ihalf

positive wavenumbers from FT

Definition at line 91 of file SPIgrid.hpp.

◆ Ihalf4

SPIMat SPI::SPIgrid2D::Ihalf4

positive wavenumbers from FT. For 4 variable state vector

Definition at line 95 of file SPIgrid.hpp.

◆ Ihalfn

SPIMat SPI::SPIgrid2D::Ihalfn

negative wavenumbers from FT

Definition at line 92 of file SPIgrid.hpp.

◆ Ihalfn4

SPIMat SPI::SPIgrid2D::Ihalfn4

negative wavenumbers from FT. For 4 variable state vector

Definition at line 96 of file SPIgrid.hpp.

◆ name

std::string SPI::SPIgrid2D::name

name of grid

Definition at line 81 of file SPIgrid.hpp.

◆ nt

PetscInt SPI::SPIgrid2D::nt

Definition at line 75 of file SPIgrid.hpp.

◆ ny

PetscInt SPI::SPIgrid2D::ny

Definition at line 75 of file SPIgrid.hpp.

◆ O

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.

◆ S0invS1inv

SPIMat SPI::SPIgrid2D::S0invS1inv

inverse of S0^-1 * S1^-1

Definition at line 88 of file SPIgrid.hpp.

◆ S1S0That

SPIMat SPI::SPIgrid2D::S1S0That

UltraSpherical helper matrix S1*S0*That for baseflow.

Definition at line 87 of file SPIgrid.hpp.

◆ t

SPIVec SPI::SPIgrid2D::t

grid for time dimension

Definition at line 84 of file SPIgrid.hpp.

◆ T

SPIMat SPI::SPIgrid2D::T

transform from chebyshev to physical

Definition at line 85 of file SPIgrid.hpp.

◆ That

SPIMat SPI::SPIgrid2D::That

transform from physical to chebyshev

Definition at line 86 of file SPIgrid.hpp.

◆ ttype

gridtype SPI::SPIgrid2D::ttype

type of grid for time dimension

Definition at line 98 of file SPIgrid.hpp.

◆ y

SPIVec SPI::SPIgrid2D::y

grid for wall-normal dimension

Definition at line 83 of file SPIgrid.hpp.

◆ ytype

gridtype SPI::SPIgrid2D::ytype

type of grid for wall-normal dimension

Definition at line 97 of file SPIgrid.hpp.


The documentation for this struct was generated from the following files: