List of all members.
Public Member Functions |
| | QGaussLobatto (const unsigned int n) |
| template<> |
| | QGaussLobatto (const unsigned int n) |
Protected Member Functions |
| std::vector< long double > | compute_quadrature_points (const unsigned int q, const int alpha, const int beta) const |
| std::vector< long double > | compute_quadrature_weights (const std::vector< long double > &x, const int alpha, const int beta) const |
| long double | JacobiP (const long double x, const int alpha, const int beta, const unsigned int n) const |
| long double | gamma (const unsigned int n) const |
| template<> |
| std::vector< long double > | compute_quadrature_points (const unsigned int, const int, const int) const |
| template<> |
| std::vector< long double > | compute_quadrature_weights (const std::vector< long double > &, const int, const int) const |
| template<> |
| long double | JacobiP (const long double, const int, const int, const unsigned int) const |
| template<> |
| long double | gamma (const unsigned int n) const |
Detailed Description
template<int dim>
class QGaussLobatto< dim >
The Gauss-Lobatto quadrature rule.
This modification of the Gauss quadrature uses the two interval end points as well. Being exact for polynomials of degree 2n-3, this formula is suboptimal by two degrees.
The quadrature points are interval end points plus the roots of the derivative of the Legendre polynomial Pn-1 of degree n-1. The quadrature weights are 2/(n(n-1)(Pn-1(xi)2).
Note: This implementation has not yet been optimized concerning numerical stability and efficiency. It can be easily adapted to the general case of Gauss-Lobatto-Jacobi-Bouzitat quadrature with arbitrary parameters alpha, beta, of which the Gauss-Lobatto-Legendre quadrature (alpha = beta = 0) is a special case.
- See also:
- http://en.wikipedia.org/wiki/Handbook_of_Mathematical_Functions
-
Karniadakis, G.E. and Sherwin, S.J.: Spectral/hp element methods for computational fluid dynamics. Oxford: Oxford University Press, 2005
- Author:
- Guido Kanschat, 2005, 2006; F. Prill, 2006
Definition at line 74 of file quadrature_lib.h.
Constructor & Destructor Documentation
Generate a formula with n quadrature points (in each space direction).
Member Function Documentation
template<int dim>
| std::vector<long double> QGaussLobatto< dim >::compute_quadrature_points |
( |
const unsigned int |
q, |
|
|
const int |
alpha, |
|
|
const int |
beta |
|
) |
| const [protected] |
Compute Legendre-Gauss-Lobatto quadrature points in the interval
. They are equal to the roots of the corresponding Jacobi polynomial (specified by alpha, beta). q is number of points.
- Returns:
- vector containing nodes.
template<int dim>
| std::vector<long double> QGaussLobatto< dim >::compute_quadrature_weights |
( |
const std::vector< long double > & |
x, |
|
|
const int |
alpha, |
|
|
const int |
beta |
|
) |
| const [protected] |
Compute Legendre-Gauss-Lobatto quadrature weights. The quadrature points and weights are related to Jacobi polynomial specified by alpha, beta. x denotes the quadrature points.
- Returns:
- vector containing weights.
Evaluate a Jacobi polynomial
specified by the parameters alpha, beta, n. Note: The Jacobi polynomials are not orthonormal and defined on the interval
. x is the point of evaluation.
Evaluate the Gamma function
.
- Parameters:
-
| n | point of evaluation (integer). |
template<>
| std::vector< long double > QGaussLobatto< 1 >::compute_quadrature_points |
( |
const unsigned |
int, |
|
|
const |
int, |
|
|
const |
int |
|
) |
| const [protected] |
template<>
| std::vector< long double > QGaussLobatto< 1 >::compute_quadrature_weights |
( |
const std::vector< long double > & |
, |
|
|
const |
int, |
|
|
const |
int |
|
) |
| const [protected] |
The documentation for this class was generated from the following file: