Reference documentation for deal.II version Git 0183d66 2014-10-17 10:54:07 +0200
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | List of all members
QGaussLobatto< dim > Class Template Reference

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

Inheritance diagram for QGaussLobatto< dim >:
[legend]

Public Member Functions

 QGaussLobatto (const unsigned int n)
 
- Public Member Functions inherited from Quadrature< dim >
 Quadrature (const unsigned int n_quadrature_points=0)
 
 Quadrature (const SubQuadrature &, const Quadrature< 1 > &)
 
 Quadrature (const Quadrature< dim!=1?1:0 > &quadrature_1d)
 
 Quadrature (const Quadrature< dim > &q)
 
 Quadrature (const std::vector< Point< dim > > &points, const std::vector< double > &weights)
 
 Quadrature (const std::vector< Point< dim > > &points)
 
 Quadrature (const Point< dim > &point)
 
virtual ~Quadrature ()
 
Quadratureoperator= (const Quadrature< dim > &)
 
bool operator== (const Quadrature< dim > &p) const
 
void initialize (const std::vector< Point< dim > > &points, const std::vector< double > &weights)
 
unsigned int size () const
 
const Point< dim > & point (const unsigned int i) const
 
const std::vector< Point< dim > > & get_points () const
 
double weight (const unsigned int i) const
 
const std::vector< double > & get_weights () const
 
std::size_t memory_consumption () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Member Functions

std::vector< long doublecompute_quadrature_points (const unsigned int q, const int alpha, const int beta) const
 
std::vector< long doublecompute_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
 

Additional Inherited Members

- Public Types inherited from Quadrature< dim >
typedef Quadrature< dim-1 > SubQuadrature
 
- Protected Attributes inherited from Quadrature< dim >
std::vector< Point< dim > > quadrature_points
 
std::vector< doubleweights
 

Detailed Description

template<int dim>
class QGaussLobatto< dim >

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

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 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 82 of file quadrature_lib.h.

Constructor & Destructor Documentation

template<int dim>
QGaussLobatto< dim >::QGaussLobatto ( const unsigned int  n)

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 \([-1, +1]\). They are equal to the roots of the corresponding Jacobi polynomial (specified by alpha, beta). q is the 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.
template<int dim>
long double QGaussLobatto< dim >::JacobiP ( const long double  x,
const int  alpha,
const int  beta,
const unsigned int  n 
) const
protected

Evaluate a Jacobi polynomial \( P^{\alpha, \beta}_n(x) \) specified by the parameters alpha, beta, n. Note: The Jacobi polynomials are not orthonormal and defined on the interval \([-1, +1]\). x is the point of evaluation.

template<int dim>
long double QGaussLobatto< dim >::gamma ( const unsigned int  n) const
protected

Evaluate the Gamma function \( \Gamma(n) = (n-1)! \).

Parameters
npoint of evaluation (integer).

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