SPI
SLEPc PETSc Interface is used for rapid development and intuitive matrix operations similar to MatLab or NumPy style of operations
|
Go to the source code of this file.
Data Structures | |
struct | SPI::SPIgrid1D |
Class to contain various grid parameters. More... | |
struct | SPI::SPIgrid2D |
Namespaces | |
SPI | |
Enumerations | |
enum | SPI::gridtype { SPI::FD, SPI::FDperiodic, SPI::Fourier, SPI::Chebyshev, SPI::UltraS } |
enumeration of grid types More... | |
Functions | |
PetscInt | SPI::factorial (PetscInt n) |
compute the factorial of n. This is needed for get_D_Coeffs function More... | |
SPIVec | SPI::get_D_Coeffs (SPIVec &s, PetscInt d) |
get the coefficients of the given stencil. More... | |
SPIMat | SPI::map_D (SPIMat D, SPIVec y, PetscInt d, PetscInt order) |
map the derivative operator to the proper y grid More... | |
SPIMat | SPI::set_D (SPIVec &y, PetscInt d, PetscInt order, PetscBool uniform) |
set the derivative operator for the proper y grid if uniform=false. Uses map_D function More... | |
SPIMat | SPI::set_D_periodic (SPIVec &y, PetscInt d, PetscInt order) |
set the derivative operator for the proper periodic grid assuming uniform discretization. More... | |
SPIVec | SPI::set_FD_stretched_y (PetscScalar y_max, PetscInt ny, PetscScalar delta) |
set stretched grid from [0,y_max] using tanh stretching for use with finite difference operators More... | |
SPIMat | SPI::set_D_Chebyshev (SPIVec &x, PetscInt d, PetscBool need_map) |
set a Chebyshev collocated operator acting with respect to the collocated grid More... | |
SPIMat | SPI::map_D_Chebyshev (SPIVec &x, PetscInt d) |
map a Chebyshev collocated operator acting with respect to the stretched collocated grid More... | |
SPIVec | SPI::set_Cheby_stretched_y (PetscScalar y_max, PetscInt ny, PetscScalar yi) |
create a stretched Chebyshev grid from [0,y_max] with yi being the midpoint location for the number of points More... | |
SPIVec | SPI::set_Cheby_mapped_y (PetscScalar a, PetscScalar b, PetscInt ny) |
create a stretched Chebyshev grid from [a,b] using default Chebfun like mapping More... | |
SPIVec | SPI::set_Cheby_y (PetscInt ny) |
create a Chebyshev grid from [-1,1] More... | |
SPIVec | SPI::set_Fourier_t (PetscScalar T, PetscInt nt) |
create a Fourier grid from [0,T] More... | |
SPIMat | SPI::set_D_Fourier (SPIVec t, PetscInt d) |
create a Fourier derivative operator acting on grid t More... | |
std::tuple< SPIMat, SPIMat > | SPI::set_D_UltraS (SPIVec &x, PetscInt d) |
set a UltraSpherical operator acting with respect to the collocated grid (keeps everything in UltraSpherical space), take in Chebyshev coefficients and outputs coefficients in C(d) coefficient space More... | |
std::tuple< SPIMat, SPIMat > | SPI::set_T_That (PetscInt n) |
set a T and That operators acting with respect to the Chebyshev collocated grid, That: physical -> Chebyshev coefficient, T: Chebyshev coefficient -> physical More... | |
SPIVec | SPI::SPIVec1Dto2D (SPIgrid2D &grid2D, SPIVec &u) |
expand a 1D vector to a 2D vector copying data along time dimension More... | |
PetscScalar | SPI::integrate (const SPIVec &a, SPIgrid1D &grid) |
integrate a vector of chebyshev Coefficients on a physical grid More... | |
PetscScalar | SPI::integrate (const SPIVec &a, SPIgrid2D &grid) |
integrate a vector of chebyshev Coefficients on a physical grid More... | |
SPIVec | SPI::proj (SPIVec &u, SPIVec &v, SPIgrid1D &grid) |
SPIVec | SPI::proj (SPIVec &u, SPIVec &v, SPIgrid2D &grid) |
std::vector< SPIVec > | SPI::orthogonalize (std::vector< SPIVec > &x, SPIgrid1D &grid) |
std::vector< SPIVec > | SPI::orthogonalize (std::vector< SPIVec > &x, SPIgrid2D &grid) |
SPIMat | SPI::interp1D_Mat (SPIgrid1D &grid1, SPIgrid1D &grid2) |
SPIMat | SPI::interp1D_Mat (SPIVec &y1, SPIVec &y2) |
SPIMat | SPI::dft (PetscInt nt) |
std::tuple< SPIMat, SPIMat, SPIMat, SPIMat > | SPI::dft_dftinv_Ihalf_Ihalfn (PetscInt nt) |