105 virtual uint n()
const {
return rule_.
n(); }
107 virtual std::ostream&
info(std::ostream&
os)
const;
145 virtual uint n()
const {
return rule_.
n(); }
147 virtual std::ostream&
info(std::ostream&
os)
const;
184 : rule_(
n), shAbscissas_(0), shWeights_(0) {
208 virtual uint n()
const {
return rule_.
n(); }
210 virtual std::ostream&
info(std::ostream&
os)
const;
214 Real *shAbscissas_, *shWeights_;
257 virtual std::ostream&
info(std::ostream&
os)
const;
269 uint constNumerOfPoints_;
273 uint addNumberOfPoints_;
277 bool useConstantNumberOfPoints_;
362 return i ? intY_ :
intX_;
422 virtual const bool domain()
const {
return true; }
425 virtual const bool tensor()
const {
return true; }
437 virtual std::ostream&
info(std::ostream&
os)
const;
440 std::unique_ptr<const concepts::QuadratureRule1d> xRule_;
441 std::unique_ptr<const concepts::QuadratureRule1d> yRule_;
520 virtual const bool domain()
const {
return false; }
523 virtual const bool tensor()
const {
return false; }
526 void printData()
const;
529 virtual std::ostream&
info(std::ostream&
os)
const;
550 const Real* weights_;
581 const ushort* p)
const = 0;
584 virtual const std::string integrationRule()
const = 0;
624 virtual std::ostream&
info(std::ostream&
os)
const;
680 DuffyData(
const Real beta = 1 ,
const uint npx = 20,
const uint npy = 20) : beta(beta), npx(npx), npy(npy) {}
682 DuffyData& operator=(
const DuffyData&
dd) {
684 this->beta =
dd.beta;
692 virtual std::ostream& info(std::ostream&
os)
const {
693 return os <<
"DuffyData{beta = "<< beta <<
" , (npx,npy) = ("<< npx <<
" , " << npy <<
")}";
715 vtxData_[
vAttr]= DuffyData(beta,npx,npy);
727 virtual std::ostream&
info(std::ostream&
os)
const;
virtual QuadratureRule2d * operator()(const concepts::QuadNd &cell, const ushort *p) const =0
virtual void setTensor(enum concepts::intRule rule, bool constant, uint points)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
bool useConstantNumberOfPoints_
enum intRule type() const
Returns the integration type.
uint cnt_
Counter for changes.
enum intRule integrationType_
void reset()
Set the standard type of integration.
const uint count() const
Returns counter of changes.
virtual const std::string integrationRule() const
Returns information on the settings of the quadrature rule.
virtual QuadratureRule2d * operator()(const concepts::QuadNd &cell, const ushort *p) const
virtual QuadratureRule2d * operator()(const concepts::QuadNd &cell, const ushort *p) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
QuadRuleFactoryTensorDuffy2d(enum intRule tensorType=GAUSS_JACOBI, uint constPointsT=10, uint addPointsT=2, bool constantT=false)
virtual const std::string integrationRule() const
Returns information on the settings of the quadrature rule.
void addSingularPoint(const uint vAttr, const Real beta, uint npx=20, uint npy=20)
const std::string integrationRule() const
Returns information on the settings of the quadrature rule.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
QuadratureRule1d * operator()(const ushort p=1) const
const uint count() const
Returns counter of changes.
void set(enum concepts::intRule rule, bool constant, uint points)
enum intRule type() const
Returns the integration type.
void reset()
Set the standard type of integration.
virtual const Real * abscissas() const
Returns a pointer into the array of the abscissas.
const Real * weights_
Weights.
virtual const Real * weights() const
Returns a pointer into the array of the weights.
const Real * abscissas_
Abscissas.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual uint n() const
Returns the number of points.
QuadratureRule1dGaussJacobi(uint n)
virtual uint n() const
Returns the number of points.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
QuadratureRule1dGaussLobatto(uint n)
virtual const Real * abscissas() const
Returns a pointer into the array of the abscissas.
QuadratureRule1dTrapeze(uint n)
virtual const Real * weights() const
Returns a pointer into the array of the weights.
QuadratureRule1dTrapeze(uint n, Real x0, Real xend)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual uint n() const
Returns the number of points.
virtual uint n() const =0
Returns the number of points.
virtual void printRule()
print weights and abscissas to stdout
virtual const Real * weights() const =0
Returns a pointer into the array of the weights.
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.
QuadratureRule2dQuadDuffy(Real beta, uint nx, uint ny, uint noVtx=0)
const uint n(uint i=0) const
virtual const bool tensor() const
virtual const Real * weights(uint i=0) const
virtual const bool domain() const
virtual bool quadratureData(const uint i, Real3d &q, Real &w) const
QuadratureRule2dQuadTensor(const concepts::QuadratureRule1d *xRule, const concepts::QuadratureRule1d *yRule)
virtual const Real * weights(uint i) const
virtual const uint n(uint i) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual bool quadratureData(const uint i, Real3d &q, Real &w) const
virtual const bool domain() const
virtual const bool tensor() const
virtual const bool domain() const =0
const Real * intX_
Abscissas.
virtual const Real * abscissas(uint i) const
virtual const uint n(uint i=0) const =0
virtual const Real * weights(uint i=0) const =0
virtual const bool tensor() const =0
virtual const uint n(uint i=0) const =0
virtual const Real * weights(uint i) const =0
virtual bool quadratureData(const uint i, Real3d &q, Real &w) const =0
virtual const Real * abscissas(uint i) const =0
const Real * abscissas() const
Returns a pointer into the array of the abscissas.
const Real * weights() const
Returns a pointer into the array of the weights.
uint n() const
Returns the number of quadrature points.
#define conceptsAssert(cond, exc)
Set< F > makeSet(uint n, const F &first,...)
unsigned short ushort
Abbreviation for unsigned short.
intRule
Types of integration rules to choose from.