#include <quadRule.hh>
Public Member Functions | |
| QuadratureRule2dQuadDuffy (Real beta, uint nx, uint ny, uint noVtx=0) | |
| virtual const Real * | weights (uint i=0) const |
| const uint | n (uint i=0) const |
| virtual bool | quadratureData (const uint i, Real3d &q, Real &w) const |
| virtual const bool | domain () const |
| virtual const bool | tensor () const |
| void | printData () const |
| virtual const Real * | abscissas (uint i) const |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Protected Attributes | |
| const Real * | intX_ |
| Abscissas. | |
| const Real * | intY_ |
Class representing the Generalized Duffy quadrature rule in 2d, 

The quadrature rule is not tensored and is most effective to integrate 

The weights are given in ![$ [-1,1]^2 $](form_663.png)
This class is motivated by the paper "Generalized Duffy Transformation for Integrating Vertex Singularites" by Mousavi / Sukumar
The quadrature rule depends on the duffy parameter beta. beta should be chosen such that
![\[2\beta -1 -\alpha\beta \geq 0\]](form_664.png)
.
Note that for too big beta, the quadrature points in ![$ [0,1]^2 $](form_524.png)
The abscissas are computed on ![$ [0,1]^2 $](form_524.png)
The internal compute routine computes generalized duffy points on a triangle. With that, the method can be used for arbitrary reference geometries that can be subdivided into triangles with common singularity vertex.
The quadrature points on the transformed triangles are computed with underlying Gauss-Legrendre points, whose number can be chosen individual in each direction in the transformed quad.
Definition at line 481 of file quadRule.hh.
| concepts::QuadratureRule2dQuadDuffy::QuadratureRule2dQuadDuffy | ( | Real | beta, |
| uint | nx, | ||
| uint | ny, | ||
| uint | noVtx = 0 |
||
| ) |
Constructor
The singular vertex is by default set to zero. This is ok, since when building the mesh one can place the geometry s.t. the first elements vertex lies on the singularity.
| beta | generalized duffy transformation parameter |
| nx | number of quadrature points of underlying Gauss-Legendre points in x-direction on transformed square. |
| ny | number of quadrature points of underlying Gauss-Legendre points in y-direction on transformed square. |
| noVtx | number of local vertex |
Returns the quadrature abcissas in the i-th direction.
| i | i = 0 : x-direction, i = 1 : y-direction |
Implements concepts::QuadratureRule.
Definition at line 360 of file quadRule.hh.
Method delivers if the integration points and weights are computed in [-1,1]^2 or in [0,1]^2. Return true if integration points are computed in
![\[ [-1,1]^2 \]](form_658.png)
or false if they are computed in
![\[ [0,1]^2 \]](form_666.png)
.
Implements concepts::QuadratureRule2d.
Definition at line 520 of file quadRule.hh.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Returns the number of quadrature points.
Implements concepts::QuadratureRule2d.
Definition at line 511 of file quadRule.hh.
|
virtual |
Method delivers the i-th quadrature point
![\[ q \in [0,1]^n \]](form_665.png)
and its belonging i-th weight. If i exceeds the numer of quadrature, false is returned.
Implements concepts::QuadratureRule.
Method delivers information about the quadrature rule structure. Returns true for tensor structur and false for non-tensor one.
Implements concepts::QuadratureRule2d.
Definition at line 523 of file quadRule.hh.
Returns the i-th weight, belonging to (x_i,y_i) as nontensored.
Implements concepts::QuadratureRule2d.
Definition at line 503 of file quadRule.hh.
|
protectedinherited |
Abscissas.
Definition at line 382 of file quadRule.hh.
|
protectedinherited |
Definition at line 383 of file quadRule.hh.