Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Public Member Functions | Private 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)
 
 QGaussLog (const unsigned int n, const bool revert)
 
- 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
 
const std::array< Quadrature< 1 >, dim > & get_tensor_basis () const
 
 Quadrature (const unsigned int n_q)
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") 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)
 

Private Member Functions

std::vector< doubleget_quadrature_points (const unsigned int n)
 
std::vector< doubleget_quadrature_weights (const unsigned int n)
 

Static Private Member Functions

static std::vector< doubleget_quadrature_points (const unsigned int n)
 
static std::vector< doubleget_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 ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Protected Attributes inherited from Quadrature< dim >
std::vector< Point< dim > > quadrature_points
 
std::vector< doubleweights
 
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

◆ QGaussLog() [1/2]

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

Generate a formula with n quadrature points

◆ QGaussLog() [2/2]

QGaussLog< 1 >::QGaussLog ( const unsigned int  n,
const bool  revert 
)

Definition at line 245 of file quadrature_lib.cc.

Member Function Documentation

◆ get_quadrature_points() [1/2]

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

Compute the points of the quadrature formula.

◆ get_quadrature_weights() [1/2]

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

Compute the weights of the quadrature formula.

◆ get_quadrature_points() [2/2]

std::vector< double > QGaussLog< 1 >::get_quadrature_points ( const unsigned int  n)
private

Definition at line 264 of file quadrature_lib.cc.

◆ get_quadrature_weights() [2/2]

std::vector< double > QGaussLog< 1 >::get_quadrature_weights ( const unsigned int  n)
private

Definition at line 397 of file quadrature_lib.cc.


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