concepts::QuadRuleFactoryTensorDuffy2d Class Reference

Class representing a quadrature factory, that holds information about cells on which generalized duffy quadrature should be applied. More...

#include <quadRule.hh>

Inheritance diagram for concepts::QuadRuleFactoryTensorDuffy2d:
concepts::QuadRuleFactoryTensor2d concepts::QuadRuleFactoryBase2d concepts::OutputOperator

Classes

struct  DuffyData
 Duffy information data, i.e. the duffy parameter and the number of points. More...
 

Public Member Functions

void addSingularPoint (const uint vAttr, const Real beta, uint npx=20, uint npy=20)
 Adds information for a given singularity vertex attribute, and specified duffy quadrature on it. More...
 
const uint count () const
 Returns counter of changes. More...
 
virtual const std::string integrationRule () const
 Returns information on the settings of the quadrature rule. More...
 
virtual QuadratureRule2doperator() (const concepts::QuadNd &cell, const ushort *p) const
 Application operator that returns setted integration rule on a given cell for requested polynomial degree. More...
 
 QuadRuleFactoryTensorDuffy2d (enum intRule tensorType=GAUSS_JACOBI, uint constPointsT=10, uint addPointsT=2, bool constantT=false)
 Constructor setting the information for the tensor quadrature. More...
 
void reset ()
 Set the standard type of integration. More...
 
virtual void setTensor (enum concepts::intRule rule, bool constant, uint points)
 Sets the integration rule for cells with tensor rule. More...
 
enum intRule type () const
 Returns the integration type. More...
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Protected Attributes

uint addNumberOfPoints_
 Number of integration points to add to approximation order when varying number of integration points is requested. More...
 
uint cnt_
 Counter for changes. More...
 
uint constNumerOfPoints_
 Number of integration points to use when constant number is requested. More...
 
enum intRule integrationType_
 Default behaviour: integration rule Gauss Jacobi (highest order). More...
 
bool useConstantNumberOfPoints_
 Use constant number of integration points (true) or not (false). More...
 
concepts::HashMap< DuffyDatavtxData_
 

Detailed Description

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.

Author
Robert Gruhlke, 2014

Definition at line 670 of file quadRule.hh.

Constructor & Destructor Documentation

◆ QuadRuleFactoryTensorDuffy2d()

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.

Member Function Documentation

◆ addSingularPoint()

void concepts::QuadRuleFactoryTensorDuffy2d::addSingularPoint ( const uint  vAttr,
const Real  beta,
uint  npx = 20,
uint  npy = 20 
)
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.

Parameters
vAttrattribute of the singular vertex
betaduffy transformation parameter
npxnumber of quadrature points of underlying tensor quadrature in x-direction
npynumber of quadrature points of underlying tensor quadrature in y-direction

Definition at line 714 of file quadRule.hh.

◆ count()

const uint concepts::QuadRuleFactoryTensor2d::count ( ) const
inlineinherited

Returns counter of changes.

Definition at line 615 of file quadRule.hh.

◆ info()

virtual std::ostream& concepts::QuadRuleFactoryTensorDuffy2d::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::QuadRuleFactoryTensor2d.

◆ integrationRule()

virtual const std::string concepts::QuadRuleFactoryTensorDuffy2d::integrationRule ( ) const
virtual

Returns information on the settings of the quadrature rule.

Reimplemented from concepts::QuadRuleFactoryTensor2d.

◆ operator()()

virtual QuadratureRule2d* concepts::QuadRuleFactoryTensorDuffy2d::operator() ( const concepts::QuadNd cell,
const ushort p 
) const
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.

◆ reset()

void concepts::QuadRuleFactoryTensor2d::reset ( )
inherited

Set the standard type of integration.

◆ setTensor()

virtual void concepts::QuadRuleFactoryTensor2d::setTensor ( enum concepts::intRule  rule,
bool  constant,
uint  points 
)
virtualinherited

Sets the integration rule for cells with tensor rule.

Parameters
ruleType of integration
constantFlag, true = constant number of points
pointsNumber of points, constant or to add

◆ type()

enum intRule concepts::QuadRuleFactoryTensor2d::type ( ) const
inlineinherited

Returns the integration type.

Definition at line 615 of file quadRule.hh.

Member Data Documentation

◆ addNumberOfPoints_

uint concepts::QuadRuleFactoryTensor2d::addNumberOfPoints_
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.

◆ cnt_

uint concepts::QuadRuleFactoryTensor2d::cnt_
protectedinherited

Counter for changes.

Definition at line 649 of file quadRule.hh.

◆ constNumerOfPoints_

uint concepts::QuadRuleFactoryTensor2d::constNumerOfPoints_
protectedinherited

Number of integration points to use when constant number is requested.

Default value is 10.

Definition at line 638 of file quadRule.hh.

◆ integrationType_

enum intRule concepts::QuadRuleFactoryTensor2d::integrationType_
protectedinherited

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 624 of file quadRule.hh.

◆ useConstantNumberOfPoints_

bool concepts::QuadRuleFactoryTensor2d::useConstantNumberOfPoints_
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.

◆ vtxData_

concepts::HashMap<DuffyData> concepts::QuadRuleFactoryTensorDuffy2d::vtxData_
protected

Definition at line 730 of file quadRule.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich