PetscDTGaussLobattoLegendreQuadrature#
creates a set of the locations and weights of the Gauss-Lobatto-Legendre nodes of a given size on the domain \([-1,1]\)
Synopsis#
#include "petscdt.h"
PetscErrorCode PetscDTGaussLobattoLegendreQuadrature(PetscInt npoints, PetscGaussLobattoLegendreCreateType type, PetscReal *x, PetscReal *w)
Not Collective
Input Parameters#
npoints - number of grid nodes
type -
PETSCGAUSSLOBATTOLEGENDRE_VIA_LINEAR_ALGEBRA
orPETSCGAUSSLOBATTOLEGENDRE_VIA_NEWTON
Output Parameters#
x - quadrature points, pass in an array of length
npoints
w - quadrature weights, pass in an array of length
npoints
Notes#
For n > 30 the Newton approach computes duplicate (incorrect) values for some nodes because the initial guess is apparently not close enough to the desired solution
These are useful for implementing spectral methods based on Gauss-Lobatto-Legendre (GLL) nodes
See https://epubs.siam.org/doi/abs/10.1137/110855442 https://epubs.siam.org/doi/abs/10.1137/120889873 for better ways to compute GLL nodes
See Also#
PetscDTGaussQuadrature()
, PetscGaussLobattoLegendreCreateType
Level#
intermediate
Location#
Examples#
src/tao/unconstrained/tutorials/spectraladjointassimilation.c
src/ksp/ksp/tutorials/ex69.c
src/ts/tutorials/ex50.c
src/tao/unconstrained/tutorials/burgers_spectral.c
src/ksp/ksp/tutorials/ex68.c
Index of all DT routines
Table of Contents for all manual pages
Index of all manual pages