#include <quadRule.hh>
Public Member Functions | |
QuadRuleFactoryTensorDuffy2d (enum intRule tensorType=GAUSS_JACOBI, uint constPointsT=10, uint addPointsT=2, bool constantT=false) | |
void | addSingularPoint (const uint vAttr, const Real beta, uint npx=20, uint npy=20) |
virtual QuadratureRule2d * | operator() (const concepts::QuadNd &cell, const ushort *p) const |
virtual const std::string | integrationRule () const |
Returns information on the settings of the quadrature rule. | |
virtual void | setTensor (enum concepts::intRule rule, bool constant, uint points) |
void | reset () |
Set the standard type of integration. | |
const uint | count () const |
Returns counter of changes. | |
enum intRule | type () const |
Returns the integration type. | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
Protected Attributes | |
concepts::HashMap< DuffyData > | vtxData_ |
enum intRule | integrationType_ |
uint | constNumerOfPoints_ |
uint | addNumberOfPoints_ |
bool | useConstantNumberOfPoints_ |
uint | cnt_ |
Counter for changes. | |
Class representing a quadrature factory, that holds information about cells on which generalized duffy quadrature should be applied.
On all other cells tensored integration rules are setted. Therefore derived methods only applicate on cells with tensored structur. The cells with setted duffy integration rule are controlled via the addSingularPoint
routine.
A cell should at most have one duffy quadrature rule, else an assertion will be thrown while application.
If no information for singular points is added, this class simplifies to the QuadRuleFactoryTensor.
Definition at line 670 of file quadRule.hh.
concepts::QuadRuleFactoryTensorDuffy2d::QuadRuleFactoryTensorDuffy2d | ( | enum intRule | tensorType = GAUSS_JACOBI , |
uint | constPointsT = 10 , |
||
uint | addPointsT = 2 , |
||
bool | constantT = false |
||
) |
Constructor setting the information for the tensor quadrature.
To this point no singularity information is applied.
|
inline |
Adds information for a given singularity vertex attribute, and specified duffy quadrature on it. If information for given vertex attribute was already added, the last information added is valid.
vAttr | attribute of the singular vertex |
beta | duffy transformation parameter |
npx | number of quadrature points of underlying tensor quadrature in x-direction |
npy | number of quadrature points of underlying tensor quadrature in y-direction |
Definition at line 714 of file quadRule.hh.
|
inlineinherited |
Returns counter of changes.
Definition at line 615 of file quadRule.hh.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::QuadRuleFactoryTensor2d.
|
virtual |
Returns information on the settings of the quadrature rule.
Reimplemented from concepts::QuadRuleFactoryTensor2d.
|
virtual |
Application operator that returns setted integration rule on a given cell for requested polynomial degree.
If a cell has two setted singular vertices, which information was added to the factory, an assertion is stated.
Reimplemented from concepts::QuadRuleFactoryTensor2d.
|
virtualinherited |
Sets the integration rule for cells with tensor rule
rule | Type of integration |
constant | Flag, true = constant number of points |
points | Number of points, constant or to add |
Returns the integration type.
Definition at line 618 of file quadRule.hh.
|
protectedinherited |
Number of integration points to add to approximation order when varying number of integration points is requested. Default is 2.
Definition at line 642 of file quadRule.hh.
|
protectedinherited |
Counter for changes.
Definition at line 649 of file quadRule.hh.
|
protectedinherited |
Number of integration points to use when constant number is requested. Default value is 10.
Definition at line 638 of file quadRule.hh.
Default behaviour: integration rule Gauss Jacobi (highest order). The default value is 4 (Gauss Jacobi). Other possible values are 0 (Gauss Lobatto) for better graphics (connected elements). Use setIntegrationRule() to change it.
Definition at line 634 of file quadRule.hh.
|
protectedinherited |
Use constant number of integration points (true) or not (false). Default is false (ie. varying number of points).
Definition at line 646 of file quadRule.hh.
|
protected |
Definition at line 730 of file quadRule.hh.