BEM++
2.0
|
Family of quadrature rules over pairs of elements. More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/fiber/double_quadrature_rule_family.hpp>
Public Member Functions | |
virtual | ~DoubleQuadratureRuleFamily () |
Destructor. | |
virtual void | fillQuadraturePointsAndWeights (const DoubleQuadratureDescriptor &desc, arma::Mat< CoordinateType > &testPoints, arma::Mat< CoordinateType > &trialPoints, std::vector< CoordinateType > &testWeights, std::vector< CoordinateType > &trialWeights, bool &isTensor) const =0 |
Fill arrays of quadrature points and weights. More... | |
Family of quadrature rules over pairs of elements.
This class represents a family of quadrature rules that allows integration of possibly singular functions f(x, y) over pairs of reference elements (triangles or squares). Individual quadrature rules may be either separable (tensor-product), i.e. of the form [f f(x, y) \, d S(x) \, d T(x) {i=1}^M {j=1}^N f(x_i, y_j) w_i w_j, ] or nonseparable (non-tensor-product), i.e. of the form [f f(x, y) \, d S(x) \, d T(x) {k=1}^K f(x_k, y_k) w_k. ] Above, each of and
denotes either the unit triangle or the unit square.
|
pure virtual |
Fill arrays of quadrature points and weights.
[in] | desc | Quadrature descriptor. |
[out] | testPoints | 2D array whose (i, j)th element will contain the ith (local) coordinate of the jth quadrature point on the test element. |
[out] | trialPoints | 2D array whose (i, j)th element will contain the ith (local) coordinate of the jth quadrature point on the trial element. |
[out] | testWeights | If isTensor is set to true , this parameter will be a vector of test point weights of a separable quadrature rule; otherwise it will be a vector of point weights of a nonseparable quadarture rule. |
[out] | trialWeights | If isTensor is set to true , this parameter will be a vector of trial point weights of a separable quadrature rule; otherwise it will be empty. |
[out] | isTensor | If set to true , the returned quadrature rule is a tensor-product rule, otherwise it is not. |
Implemented in Fiber::DefaultDoubleQuadratureRuleFamily< CoordinateType >.