BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
Fiber::DoubleQuadratureRuleFamily< CoordinateType > Class Template Referenceabstract

Family of quadrature rules over pairs of elements. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/fiber/double_quadrature_rule_family.hpp>

Inheritance diagram for Fiber::DoubleQuadratureRuleFamily< CoordinateType >:
Fiber::DefaultDoubleQuadratureRuleFamily< CoordinateType >

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...
 

Detailed Description

template<typename CoordinateType>
class Fiber::DoubleQuadratureRuleFamily< CoordinateType >

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 $S$ and $T$ denotes either the unit triangle or the unit square.

Member Function Documentation

template<typename CoordinateType >
virtual void Fiber::DoubleQuadratureRuleFamily< CoordinateType >::fillQuadraturePointsAndWeights ( const DoubleQuadratureDescriptor desc,
arma::Mat< CoordinateType > &  testPoints,
arma::Mat< CoordinateType > &  trialPoints,
std::vector< CoordinateType > &  testWeights,
std::vector< CoordinateType > &  trialWeights,
bool &  isTensor 
) const
pure virtual

Fill arrays of quadrature points and weights.

Parameters
[in]descQuadrature descriptor.
[out]testPoints2D array whose (i, j)th element will contain the ith (local) coordinate of the jth quadrature point on the test element.
[out]trialPoints2D array whose (i, j)th element will contain the ith (local) coordinate of the jth quadrature point on the trial element.
[out]testWeightsIf 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]trialWeightsIf 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]isTensorIf set to true, the returned quadrature rule is a tensor-product rule, otherwise it is not.

Implemented in Fiber::DefaultDoubleQuadratureRuleFamily< CoordinateType >.


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