Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
Go to the source code of this file.
Modules | |
module | speclib |
LIBRARY ROUTINES FOR SPECTRAL METHODS. | |
Functions/Subroutines | |
subroutine | speclib::zwgl (z, w, np) |
Generate NP Gauss Legendre points Z and weights W associated with Jacobi polynomial \( P(N)(\alpha=0, \beta=0) \). The polynomial degree N = NP-1 . | |
subroutine | speclib::zwgll (z, w, np) |
Generate NP Gauss-Lobatto Legendre points (Z) and weights (W) associated with Jacobi polynomial P(N)(alpha=0,beta=0). The polynomial degree N=NP-1. Z and W are in single precision, but all the arithmetic operations are done in double precision. | |
subroutine | speclib::zwgj (z, w, np, alpha, beta) |
Generate NP GAUSS JACOBI points (Z) and weights (W) associated with Jacobi polynomial P(N)(alpha>-1,beta>-1). The polynomial degree N=NP-1. Single precision version. | |
subroutine | speclib::zwgjd (z, w, np, alpha, beta) |
Generate NP GAUSS JACOBI points (Z) and weights (W) associated with Jacobi polynomial P(N)(alpha>-1,beta>-1). The polynomial degree N=NP-1. Double precision version. | |
subroutine | speclib::zwglj (z, w, np, alpha, beta) |
Generate NP GAUSS LOBATTO JACOBI points (Z) and weights (W) associated with Jacobi polynomial P(N)(alpha>-1,beta>-1). The polynomial degree N=NP-1. Single precision version. | |
subroutine | speclib::zwgljd (z, w, np, alpha, beta) |
Generate NP GAUSS LOBATTO JACOBI points (Z) and weights (W) associated with Jacobi polynomial P(N)(alpha>-1,beta>-1). The polynomial degree N=NP-1. Double precision version. | |
real(kind=xp) function | speclib::endw1 (n, alpha, beta) |
real(kind=xp) function | speclib::endw2 (n, alpha, beta) |
real(kind=xp) function | speclib::gammaf (x) |
real(kind=xp) function | speclib::pnormj (n, alpha, beta) |
subroutine | speclib::jacg (xjac, np, alpha, beta) |
Compute NP Gauss points XJAC, which are the zeros of the Jacobi polynomial J(NP) with parameters ALPHA and BETA. ALPHA and BETA determines the specific type of Gauss points. Examples: ALPHA = BETA = 0.0 -> Legendre points ALPHA = BETA = -0.5 -> Chebyshev points. | |
subroutine | speclib::jacobf (poly, pder, polym1, pderm1, polym2, pderm2, n, alp, bet, x) |
Computes the Jacobi polynomial (POLY) and its derivative (PDER) of degree N at X. | |
real(kind=xp) function | speclib::hgj (ii, z, zgj, np, alpha, beta) |
Compute the value of the Lagrangian interpolant HGJ through the NP Gauss Jacobi points ZGJ at the point Z. Single precision version. | |
real(kind=xp) function | speclib::hgjd (ii, z, zgj, np, alpha, beta) |
Compute the value of the Lagrangian interpolant HGJD through the NZ Gauss-Lobatto Jacobi points ZGJ at the point Z. Double precision version. | |
real(kind=xp) function | speclib::hglj (ii, z, zglj, np, alpha, beta) |
Compute the value of the Lagrangian interpolant HGLJ through the NZ Gauss-Lobatto Jacobi points ZGLJ at the point Z. Single precision version. | |
real(kind=xp) function | speclib::hgljd (i, z, zglj, np, alpha, beta) |
Compute the value of the Lagrangian interpolant HGLJD through the NZ Gauss-Lobatto Jacobi points ZJACL at the point Z. Double precision version. | |
subroutine | speclib::dgj (d, dt, z, nz, nzd, alpha, beta) |
Compute the derivative matrix D and its transpose DT associated with the Nth order Lagrangian interpolants through the NZ Gauss Jacobi points Z. Note: D and DT are square matrices. Single precision version. | |
subroutine | speclib::dgjd (d, dt, z, nz, nzd, alpha, beta) |
Compute the derivative matrix D and its transpose DT associated with the Nth order Lagrangian interpolants through the NZ Gauss Jacobi points Z. Note: D and DT are square matrices. Double precision version. | |
subroutine | speclib::dglj (d, dt, z, nz, nzd, alpha, beta) |
Compute the derivative matrix D and its transpose DT associated with the Nth order Lagrangian interpolants through the NZ Gauss-Lobatto Jacobi points Z. Note: D and DT are square matrices. Single precision version. | |
subroutine | speclib::dgljd (d, dt, z, nz, nzd, alpha, beta) |
Compute the derivative matrix D and its transpose DT associated with the Nth order Lagrangian interpolants through the NZ Gauss-Lobatto Jacobi points Z. Note: D and DT are square matrices. Double precision version. | |
subroutine | speclib::dgll (d, dt, z, nz, nzd) |
Compute the derivative matrix D and its transpose DT associated with the Nth order Lagrangian interpolants through the NZ Gauss-Lobatto Legendre points Z. Note: D and DT are square matrices. | |
real(kind=xp) function | speclib::hgll (i, z, zgll, nz) |
Compute the value of the Lagrangian interpolant L through the NZ Gauss-Lobatto Legendre points ZGLL at the point Z. | |
real(kind=xp) function | speclib::hgl (i, z, zgl, nz) |
Compute the value of the Lagrangian interpolant HGL through the NZ Gauss Legendre points ZGL at the point Z. | |
real(kind=xp) function | speclib::pnleg (z, n) |
Compute the value of the Nth order Legendre polynomial at Z. (Simpler than JACOBF) Based on the recursion formula for the Legendre polynomials. | |
subroutine | speclib::legendre_poly (l, x, n) |
Evaluate Legendre polynomials of degrees 0-N at point x and store in array L. | |
real(kind=xp) function | speclib::pndleg (z, n) |
Compute the derivative of the Nth order Legendre polynomial at Z. (Simpler than JACOBF) Based on the recursion formula for the Legendre polynomials. | |
subroutine | speclib::dgllgl (d, dt, zm1, zm2, im12, nzm1, nzm2, nd1, nd2) |
Compute the (one-dimensional) derivative matrix D and its transpose DT associated with taking the derivative of a variable expanded on a Gauss-Lobatto Legendre mesh (M1), and evaluate its derivative on a Guass Legendre mesh (M2). Need the one-dimensional interpolation operator IM12 (see subroutine IGLLGL). Note: D and DT are rectangular matrices. | |
subroutine | speclib::dgljgj (d, dt, zgl, zg, iglg, npgl, npg, nd1, nd2, alpha, beta) |
Compute the (one-dimensional) derivative matrix D and its transpose DT associated with taking the derivative of a variable expanded on a Gauss-Lobatto Jacobi mesh (M1), and evaluate its derivative on a Guass Jacobi mesh (M2). Need the one-dimensional interpolation operator IM12 (see subroutine IGLJGJ). Note: D and DT are rectangular matrices. Single precision version. | |
subroutine | speclib::dgljgjd (d, dt, zgl, zg, iglg, npgl, npg, nd1, nd2, alpha, beta) |
Compute the (one-dimensional) derivative matrix D and its transpose DT associated with taking the derivative of a variable expanded on a Gauss-Lobatto Jacobi mesh (M1), and evaluate its derivative on a Guass Jacobi mesh (M2). Need the one-dimensional interpolation operator IM12 (see subroutine IGLJGJ). Note: D and DT are rectangular matrices. Double precision version. | |
subroutine | speclib::iglm (i12, it12, z1, z2, nz1, nz2, nd1, nd2) |
Compute the one-dimensional interpolation operator (matrix) I12 ands its transpose IT12 for interpolating a variable from a Gauss Legendre mesh (1) to a another mesh M (2). Z1 : NZ1 Gauss Legendre points. Z2 : NZ2 points on mesh M. | |
subroutine | speclib::igllm (i12, it12, z1, z2, nz1, nz2, nd1, nd2) |
Compute the one-dimensional interpolation operator (matrix) I12 ands its transpose IT12 for interpolating a variable from a Gauss-Lobatto Legendre mesh (1) to a another mesh M (2). Z1 : NZ1 Gauss-Lobatto Legendre points. Z2 : NZ2 points on mesh M. | |
subroutine | speclib::igjm (i12, it12, z1, z2, nz1, nz2, nd1, nd2, alpha, beta) |
Compute the one-dimensional interpolation operator (matrix) I12 ands its transpose IT12 for interpolating a variable from a Gauss Jacobi mesh (1) to a another mesh M (2). Z1 : NZ1 Gauss Jacobi points. Z2 : NZ2 points on mesh M. Single precision version. | |
subroutine | speclib::igljm (i12, it12, z1, z2, nz1, nz2, nd1, nd2, alpha, beta) |
Compute the one-dimensional interpolation operator (matrix) I12 ands its transpose IT12 for interpolating a variable from a Gauss-Lobatto Jacobi mesh (1) to a another mesh M (2). Z1 : NZ1 Gauss-Lobatto Jacobi points. Z2 : NZ2 points on mesh M. Single precision version. | |