deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
QGaussRadau< dim > Class Template Reference

#include <deal.II/base/quadrature_lib.h>

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

Public Types

enum  EndPoint { left , right }
 

Public Member Functions

 QGaussRadau (const unsigned int n, const EndPoint end_point=QGaussRadau::EndPoint::left)
 
 QGaussRadau (QGaussRadau< dim > &&) noexcept=default
 

Private Attributes

const EndPoint end_point
 

Detailed Description

template<int dim>
class 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

Definition at line 79 of file quadrature_lib.h.

Member Enumeration Documentation

◆ EndPoint

template<int dim>
enum QGaussRadau::EndPoint

EndPoint is used to specify which of the two endpoints of the unit interval is used also as quadrature point.

Enumerator
left 

Left end point.

right 

Right end point.

Definition at line 86 of file quadrature_lib.h.

Constructor & Destructor Documentation

◆ QGaussRadau() [1/2]

template<int dim>
QGaussRadau< dim >::QGaussRadau ( const unsigned int  n,
const EndPoint  end_point = QGaussRadau< dim >::EndPoint::left 
)

Generate a formula with n quadrature points (in each space direction). ep defines whether the left/lower/front endpoint(s) (default) or the right/upper/back endpoint(s) are part of the quadrature points.

Definition at line 1055 of file quadrature_lib.cc.

◆ QGaussRadau() [2/2]

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

Move constructor.

Member Data Documentation

◆ end_point

template<int dim>
const EndPoint QGaussRadau< dim >::end_point
private

Definition at line 112 of file quadrature_lib.h.


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