PetscDTGaussLobattoLegendreQuadrature — PETSc 3.25.2 documentation

Skip to main content
`Ctrl`+`K`

# 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` or `PETSCGAUSSLOBATTOLEGENDRE_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

src/dm/dt/interface/dt.c

## Examples

src/ksp/ksp/tutorials/ex69.c
src/tao/unconstrained/tutorials/burgers_spectral.c
src/ts/tutorials/ex50.c
src/ksp/ksp/tutorials/ex68.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c

Index of all DT routines
Table of Contents for all manual pages
Index of all manual pages