Doxygen API reference documentation for ideal.II
Public Types | Public Member Functions | List of all members
idealii::QGaussRadau< dim > Class Template Reference

#include <quadrature_lib.hh>

Inheritance diagram for idealii::QGaussRadau< dim >:
Inheritance graph
[legend]
Collaboration diagram for idealii::QGaussRadau< dim >:
Collaboration graph
[legend]

Public Types

enum  EndPoint { left , right }
 

Public Member Functions

 QGaussRadau (const unsigned int n, EndPoint end_point=QGaussRadau::left)
 Generate a formula wit n quadrature points.
 
 QGaussRadau (QGaussRadau< dim > &&) noexcept=default
 

Detailed Description

template<int dim>
class idealii::QGaussRadau< dim >

The Gauss-Radau family of quadrature rules for numerical integration.

This modification of the Gauss quadrature uses one of the two interval end points as well. Being exact for polynomials of degree $2n-2$, this formula is suboptimal by one degree.

This formula is often used in the context of discontinuous Galerkin discretizations of ODEs and the temporal part of PDEs.

The quadrature points are the left interval end point plus the $n-1$ roots of the polynomial

\[ \frac{P_{n-1}(x)+P_n(x)}{1+x} \]

where $P_{n-1}$ and $P_n$ are Legendre polynomials. The quadrature weights are

\[ w_0=\frac{2}{n^2}\quad\text{and} \quad w_i=\frac{1-x_i}{n^2(P_{n-1}(x_i))^2}\text{ for }i>0 \]

For the right Gauss-Radau formula the quadrature points are $\tilde{x}_i=1-x_{n-i-1}$ and the weights are $\tilde{w}_i=w_{n-i-1}$, with $(x_i,w_i)$ as quadrature points and weights of the left Gauss-Radau formula.

See also
https://mathworld.wolfram.com/RadauQuadrature.html

Member Enumeration Documentation

◆ EndPoint

template<int dim>
enum idealii::QGaussRadau::EndPoint
Enumerator
left 

Left end point.

right 

Right end point.

Constructor & Destructor Documentation

◆ QGaussRadau()

template<int dim>
idealii::QGaussRadau< dim >::QGaussRadau ( QGaussRadau< dim > &&  )
defaultnoexcept

Move constructor. We cannot rely on the move constructor for Quadrature, since it does not know about the additional member end_point of this class.


The documentation for this class was generated from the following file: