QGaussLobatto< dim > Class Template Reference
[Quadrature formulas]
List of all members.
Public Member Functions |
| QGaussLobatto (const unsigned int n) |
template<> |
| QGaussLobatto (const unsigned int n) |
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<> |
unsigned int | gamma (const unsigned int n) const |
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 |
unsigned int | 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
Constructor & Destructor Documentation
Generate a formula with n
quadrature points (in each space direction).
Member Function Documentation
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_weights |
( |
const std::vector< long double > & |
, |
|
|
const |
int, |
|
|
const |
int | |
|
) |
| | const [inline] |
The documentation for this class was generated from the following file: