deal.II version GIT relicensing-2289-g1e5549a87a 2024-12-21 21:30:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
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 >:
Inheritance graph
[legend]

Public Member Functions

 QIterated (const Quadrature< 1 > &base_quadrature, const unsigned int n_copies)
 
 QIterated (const Quadrature< 1 > &base_quadrature, const std::vector< Point< 1 > > &intervals)
 
 QIterated (const Quadrature< 1 > &, const std::vector< Point< 1 > > &)
 
 QIterated (const Quadrature< 1 > &, const unsigned int)
 
 QIterated (const Quadrature< 1 > &base_quadrature, const std::vector< Point< 1 > > &intervals)
 
 QIterated (const Quadrature< 1 > &base_quadrature, const unsigned int n_copies)
 

Static Public Member Functions

static ::ExceptionBaseExcInvalidQuadratureFormula ()
 

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.

Definition at line 434 of file quadrature.h.

Constructor & Destructor Documentation

◆ QIterated() [1/6]

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. The result is a tensor product quadrature formula defined on the unit hypercube (i.e., the line segment, unit square, or unit cube in 1d, 2d, and 3d respectively).

Definition at line 662 of file quadrature.cc.

◆ QIterated() [2/6]

template<int dim>
QIterated< dim >::QIterated ( const Quadrature< 1 > &  base_quadrature,
const std::vector< Point< 1 > > &  intervals 
)

Constructor. Iterate the given quadrature formula on the given subintervals defined by adjacent points in intervals in each direction. The resulting quadrature rule will have base_quadrature.size() * (intervals.size() - 1) quadrature points if no quadrature point of base_quadrature is positioned on the boundaries. The result is a tensor product quadrature formula defined on the unit hypercube (i.e., the line segment, unit square, or unit cube in 1d, 2d, and 3d respectively).

Note
We require that intervals.front() == 0 and interval.back() == 1.

Definition at line 653 of file quadrature.cc.

◆ QIterated() [3/6]

QIterated< 0 >::QIterated ( const Quadrature< 1 > &  ,
const std::vector< Point< 1 > > &   
)

Definition at line 508 of file quadrature.cc.

◆ QIterated() [4/6]

QIterated< 0 >::QIterated ( const Quadrature< 1 > &  ,
const unsigned int   
)

Definition at line 517 of file quadrature.cc.

◆ QIterated() [5/6]

QIterated< 1 >::QIterated ( const Quadrature< 1 > &  base_quadrature,
const std::vector< Point< 1 > > &  intervals 
)

Definition at line 526 of file quadrature.cc.

◆ QIterated() [6/6]

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

Definition at line 637 of file quadrature.cc.


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