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

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

Inheritance diagram for QIterated< dim >:
[legend]

Public Member Functions

 QIterated (const Quadrature< 1 > &base_quadrature, const unsigned int n_copies)
 
- 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 Public Member Functions

static::ExceptionBase & ExcInvalidQuadratureFormula ()
 
- 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)
 

Additional Inherited Members

- Public Types inherited from Quadrature< dim >
using SubQuadrature = Quadrature< dim-1 >
 
- 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 QIterated< dim >

Quadrature formula constructed by iteration of another quadrature formula in each direction. In more than one space dimension, the resulting quadrature formula is constructed in the usual way by building the tensor product of the respective iterated quadrature formula in one space dimension.

In one space dimension, the given base formula is copied and scaled onto a given number of subintervals of length 1/n_copies. If the quadrature formula uses both end points of the unit interval, then in the interior of the iterated quadrature formula there would be quadrature points which are used twice; we merge them into one with a weight which is the sum of the weights of the left- and the rightmost quadrature point.

Since all dimensions higher than one are built up by tensor products of one dimensional and dim-1 dimensional quadrature formulae, the argument given to the constructor needs to be a quadrature formula in one space dimension, rather than in dim dimensions.

The aim of this class is to provide a low order formula, where the error constant can be tuned by increasing the number of quadrature points. This is useful in integrating non-differentiable functions on cells.

Author
Wolfgang Bangerth 1999

Definition at line 352 of file quadrature.h.

Constructor & Destructor Documentation

template<int dim>
QIterated< dim >::QIterated ( const Quadrature< 1 > &  base_quadrature,
const unsigned int  n_copies 
)

Constructor. Iterate the given quadrature formula n_copies times in each direction.

Definition at line 1777 of file quadrature.cc.


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