quadRule.hh
Go to the documentation of this file.
161 \f[w_i = \frac{1}{n-1}\left\{\begin{array}{ll}1 & i \in \{0,n\}\\2 & \mbox{otherwise}\end{array}\right.\f]
322 //delivers ith quadraturepoint q on reference cell [-1,1]^n and ith weight, must be implemented in child classes
virtual bool quadratureData(const uint i, Real3d &q, Real &w) const
Method delivers the i-th quadrature point.
QuadRuleFactoryBase2d(const QuadRuleFactoryBase2d &other)
QuadratureRule(const QuadratureRule1d &other)
virtual const Real * abscissas() const
Returns a pointer into the array of the abscissas.
Definition: quadRule.hh:62
virtual const Real * abscissas() const
Returns a pointer into the array of the abscissas.
Definition: quadRule.hh:201
virtual bool quadratureData(const uint i, Real3d &q, Real &w) const =0
Method delivers the i-th quadrature point.
virtual const Real * weights(uint i=0) const =0
Weight return function.
virtual QuadratureRule2d * operator()(const concepts::QuadNd &cell, const ushort *p) const =0
Returns the quadrature rule, i.e.
virtual ~QuadratureRule1dGaussLobatto()
virtual QuadratureRule2d * operator()(const concepts::QuadNd &cell, const ushort *p) const
Application operator that returns setted integration rule on a given cell for requested polynomial de...
QuadratureRule1d & operator=(const QuadratureRule1d &other)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
DuffyData(const Real beta=1, const uint npx=20, const uint npy=20)
Definition: quadRule.hh:680
uint constNumerOfPoints_
Number of integration points to use when constant number is requested.
Definition: quadRule.hh:638
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const bool tensor() const
Method delivers information about the quadrature rule structure.
Definition: quadRule.hh:425
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
#define conceptsAssert(cond, exc)
Assert that a certain condition is fulfilled.
Definition: exceptions.hh:394
concepts::HashMap< DuffyData > vtxData_
Definition: quadRule.hh:730
virtual const Real * abscissas() const =0
Returns a pointer into the array of the abscissas.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const Real * weights(uint i=0) const
Returns the i-th weight, belonging to (x_i,y_i) as nontensored.
Definition: quadRule.hh:503
const concepts::QuadratureRule1d * yRule() const
Definition: quadRule.hh:433
virtual const Real * weights() const
Returns a pointer into the array of the weights.
Definition: quadRule.hh:204
virtual QuadratureRule2d * operator()(const concepts::QuadNd &cell, const ushort *p) const
Returns the quadrature rule, i.e.
virtual const Real * weights(uint i) const =0
Weight return function.
bool useConstantNumberOfPoints_
Use constant number of integration points (true) or not (false).
Definition: quadRule.hh:646
const Real * weights() const
Returns a pointer into the array of the weights.
Definition: quadrature.hh:107
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
std::unique_ptr< const concepts::QuadratureRule1d > yRule_
Definition: quadRule.hh:441
QuadratureRule1d(const QuadratureRule1d &other)
QuadRuleFactory(enum intRule type=GAUSS_JACOBI, uint constPoints=10, uint addPoints=2, bool constant=false)
QuadRuleFactoryTensorDuffy2d(enum intRule tensorType=GAUSS_JACOBI, uint constPointsT=10, uint addPointsT=2, bool constantT=false)
Constructor setting the information for the tensor quadrature.
Gauss Jacobi quadrature rule not including both endpoints.
Definition: quadRule.hh:135
Abstract class for quadrature rule factories in 2D.
Definition: quadRule.hh:567
QuadratureRule2dQuadTensor(const concepts::QuadratureRule1d *xRule, const concepts::QuadratureRule1d *yRule)
Constructor.
virtual const uint n(uint i) const
Returns the number of quadrature points in i-th direction.
virtual const Real * abscissas(uint i) const
Returns the quadrature abcissas in the i-th direction.
Definition: quadRule.hh:360
virtual const std::string integrationRule() const
Returns information on the settings of the quadrature rule.
void printData() const
QuadratureRule2d(const QuadratureRule2d &other)
const Real * abscissas() const
Returns a pointer into the array of the abscissas.
Definition: quadrature.hh:105
QuadratureRule1dTrapeze(uint n, Real x0, Real xend)
Constructor.
uint addNumberOfPoints_
Number of integration points to add to approximation order when varying number of integration points ...
Definition: quadRule.hh:273
std::unique_ptr< const concepts::QuadratureRule1d > xRule_
The integration rules along each direction.
Definition: quadRule.hh:440
const std::string integrationRule() const
Returns information on the settings of the quadrature rule.
virtual ~QuadratureRule1dGaussJacobi()
virtual const uint n(uint i=0) const =0
Returns the number of quadrature Points.
virtual const bool domain() const
Method delivers if the integration points and weights are computed in [-1,1]^2 or in [0,...
Definition: quadRule.hh:422
virtual const bool domain() const =0
Method delivers if the integration points and weights are computed in [-1,1]^2 or in [0,...
enum intRule integrationType_
Default behaviour: integration rule Gauss Jacobi (highest order).
Definition: quadRule.hh:634
Gauss Lobatto quadrature rule including both endpoints.
Definition: quadRule.hh:94
QuadRuleFactoryBase2d & operator=(const QuadRuleFactoryBase2d &other)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: quadRule.hh:692
virtual const std::string integrationRule() const =0
const concepts::QuadratureRule1d * xRule() const
Definition: quadRule.hh:429
virtual const bool domain() const
Method delivers if the integration points and weights are computed in [-1,1]^2 or in [0,...
Definition: quadRule.hh:520
virtual const Real * weights() const
Returns a pointer into the array of the weights.
Definition: quadRule.hh:63
Definition: hashMap.hh:19
QuadratureRule2d & operator=(const QuadratureRule2d &other)
double beta(const double a, const double b)
QuadratureRule1d * operator()(const ushort p=1) const
Returns the quadrature rule, i.e.
uint addNumberOfPoints_
Number of integration points to add to approximation order when varying number of integration points ...
Definition: quadRule.hh:642
QuadratureRule1dDynamic(const Real *abscissas=0, const Real *weights=0)
Definition: quadRule.hh:60
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const bool tensor() const
Method delivers information about the quadrature rule structure.
Definition: quadRule.hh:523
Duffy information data, i.e. the duffy parameter and the number of points.
Definition: quadRule.hh:673
Class representing the Generalized Duffy quadrature rule in 2d, , that is for the standard duffy int...
Definition: quadRule.hh:481
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.
Definition: quadRule.hh:714
QuadRuleFactoryTensor2d(enum intRule type=GAUSS_JACOBI, uint constPoints=10, uint addPoints=2, bool constant=false)
Class representing a quadrature factory, that holds information about cells on which generalized duff...
Definition: quadRule.hh:670
virtual void setTensor(enum concepts::intRule rule, bool constant, uint points)
Sets the integration rule for cells with tensor rule.
QuadratureRule & operator=(const QuadratureRule1d &other)
void set(enum concepts::intRule rule, bool constant, uint points)
Sets the integration rule.
bool useConstantNumberOfPoints_
Use constant number of integration points (true) or not (false).
Definition: quadRule.hh:277
enum intRule integrationType_
Default behaviour: integration rule Gauss Jacobi (highest order).
Definition: quadRule.hh:265
uint constNumerOfPoints_
Number of integration points to use when constant number is requested.
Definition: quadRule.hh:269
virtual const std::string integrationRule() const
Returns information on the settings of the quadrature rule.
QuadRuleFactoryBase2d()
Definition: quadRule.hh:573
virtual ~QuadratureRule1dTrapeze()
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual const bool tensor() const =0
Method delivers information about the quadrature rule structure.
void compute_(const Real2d S, const Real2d B, const Real2d C, const Real beta, const uint nx, const uint ny, Real *&abscXP, Real *&abscYP, Real *&wP)
Routine computes generalized duffy quadrature points on the triangle conv(S,B,C), where S is the coor...
virtual const uint n(uint i=0) const =0
Returns the number of quadrature Points.
virtual bool quadratureData(const uint i, Real3d &q, Real &w) const
Method delivers the i-th quadrature point.
This class is the same as QuadRuleFactory, but returning integration rules in 2d.
Definition: quadRule.hh:594
DuffyData & operator=(const DuffyData &dd)
Definition: quadRule.hh:682
virtual const Real * abscissas(uint i) const =0
Returns the quadrature abcissas in the i-th direction.
virtual const Real * weights() const =0
Returns a pointer into the array of the weights.
QuadratureRule2dQuadDuffy(Real beta, uint nx, uint ny, uint noVtx=0)
Constructor.
virtual ~QuadratureRule2dQuadDuffy()
virtual const Real * weights(uint i) const
Returns the weights in i-th direction.
Base class for quadrature rules with dynamically allocated storage for the weights and abscissas.
Definition: quadRule.hh:58
Definition: quadRule.hh:178