NeoPZ
tpzintpoints.h
Go to the documentation of this file.
1 
6 #ifndef TPZINTPOINTS_H
7 #define TPZINTPOINTS_H
8 
9 #include <string>
10 
11 #include "pzreal.h"
12 #include "pzvec.h"
13 
19 class TPZIntPoints {
20 public:
22  virtual ~TPZIntPoints() {
23  }
24 
26  {
27 
28  }
29 
31  {
32 
33  }
34 
36  {
37  return *this;
38  }
39 
41  virtual void Name(std::string &name) const {
42  }
43 
45  virtual int NPoints() const = 0;
52  virtual void Point(int i, TPZVec<REAL> &pos, REAL &w) const = 0;
58  virtual void SetOrder(TPZVec<int> &ord,int type = 0) = 0;
63  virtual void GetOrder(TPZVec<int> &ord) const = 0;
69  virtual int GetMaxOrder() const;
71  virtual int Dimension() const = 0;
73  virtual TPZIntPoints *Clone() const = 0;
74  virtual TPZIntPoints *PrismExtend(int order) = 0;
75 
80  virtual void SetType(int type,int order) {
81  }
82 
87  virtual void Print(std::ostream &out) const;
88 };
89 
90 #endif
virtual void GetOrder(TPZVec< int > &ord) const =0
Gets the order of the integration rule for each dimension of the master element.
virtual int NPoints() const =0
Returns number of points for the cubature rule related.
TPZIntPoints & operator=(const TPZIntPoints &copy)
Definition: tpzintpoints.h:35
Templated vector implementation.
virtual TPZIntPoints * PrismExtend(int order)=0
virtual void Name(std::string &name) const
Returns the name of the cubature rule.
Definition: tpzintpoints.h:41
virtual void Print(std::ostream &out) const
Prints information of the cubature rule.
Definition: pzquad.cpp:38
Abstract class defining integration rules. Numerical Integration.
Definition: tpzintpoints.h:19
virtual ~TPZIntPoints()
Default destructor.
Definition: tpzintpoints.h:22
virtual void SetOrder(TPZVec< int > &ord, int type=0)=0
Sets the order of the cubature rule.
virtual void SetType(int type, int order)
Sets the type of gaussian quadrature as Lobatto, Raud or Legendre rule.
Definition: tpzintpoints.h:80
TPZIntPoints(const TPZIntPoints &copy)
Definition: tpzintpoints.h:30
virtual int GetMaxOrder() const
Returns the minimum order to integrate polinomials exactly for all implemented cubature rules...
Definition: pzquad.cpp:30
virtual int Dimension() const =0
Returns the dimension of the master element related for the cubature rule.
Contains the declaration of TPZFlopCounter class and TPZCounter struct.
virtual TPZIntPoints * Clone() const =0
Make a clone of the related cubature rule.
virtual void Point(int i, TPZVec< REAL > &pos, REAL &w) const =0
Returns i-th point at master element and related weight.