Reference documentation for deal.II version 9.1.0-pre
Public Member Functions | Static Private Member Functions | List of all members
QGaussLog< dim > Class Template Reference

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

Inheritance diagram for QGaussLog< dim >:
[legend]

Public Member Functions

 QGaussLog (const unsigned int n, const bool revert=false)
 
- 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 (Quadrature< dim > &&) noexcept=default
 
 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 () override=default
 
Quadratureoperator= (const Quadrature< dim > &)
 
Quadratureoperator= (Quadrature< dim > &&)=default
 
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)
 
bool is_tensor_product () const
 
std::conditional< dim==1, std::array< Quadrature< 1 >, dim >, const std::array< Quadrature< 1 >, dim > & >::type get_tensor_basis () const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (const char *identifier=nullptr) const
 
void unsubscribe (const char *identifier=nullptr) const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Static Private Member Functions

static std::vector< double > get_quadrature_points (const unsigned int n)
 
static std::vector< double > get_quadrature_weights (const unsigned int n)
 

Additional Inherited Members

- Public Types inherited from Quadrature< dim >
using SubQuadrature = Quadrature< dim-1 >
 
- Static Public Member Functions inherited from Subscriptor
static::ExceptionBase & ExcInUse (int arg1, std::string arg2, std::string arg3)
 
static::ExceptionBase & ExcNoSubscriber (std::string arg1, std::string arg2)
 
- Protected Attributes inherited from Quadrature< dim >
std::vector< Point< dim > > quadrature_points
 
std::vector< double > weights
 
bool is_tensor_product_flag
 
std::unique_ptr< std::array< Quadrature< 1 >, dim > > tensor_basis
 

Detailed Description

template<int dim>
class QGaussLog< dim >

A class for Gauss quadrature with logarithmic weighting function. This formula is used to integrate \(\ln|x|\;f(x)\) on the interval \([0,1]\), where \(f\) is a smooth function without singularities. The collection of quadrature points and weights has been obtained using Numerical Recipes.

Notice that only the function \(f(x)\) should be provided, i.e., \(\int_0^1 f(x) \ln|x| dx = \sum_{i=0}^N w_i f(q_i)\). Setting the revert flag to true at construction time switches the weight from \(\ln|x|\) to \(\ln|1-x|\).

The weights and functions have been tabulated up to order 12.

Definition at line 177 of file quadrature_lib.h.

Constructor & Destructor Documentation

template<int dim>
QGaussLog< dim >::QGaussLog ( const unsigned int  n,
const bool  revert = false 
)

Generate a formula with n quadrature points

Member Function Documentation

template<int dim>
static std::vector<double> QGaussLog< dim >::get_quadrature_points ( const unsigned int  n)
staticprivate

Compute the points of the quadrature formula.

template<int dim>
static std::vector<double> QGaussLog< dim >::get_quadrature_weights ( const unsigned int  n)
staticprivate

Compute the weights of the quadrature formula.


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