NeoPZ
tpzintrulet.h
Go to the documentation of this file.
1 
6 #ifndef TPZINTRULET_H
7 #define TPZINTRULET_H
8 
9 #include "pzreal.h"
10 #include "pzvec.h"
11 #include "pzmanvector.h"
12 
18 class TPZIntRuleT {
19 
21  friend class TPZIntRuleList;
22 
24  int fNumInt;
32  int fOrder;
33 
38  TPZIntRuleT(int order);
39 
40  TPZIntRuleT(const TPZIntRuleT &copy) : fNumInt(copy.fNumInt), fLocationKsi(copy.fLocationKsi), fLocationEta(copy.fLocationEta),
41  fWeight(copy.fWeight), fOrder(copy.fOrder)
42  {
43 
44  }
45 
47  {
48  fNumInt = copy.fNumInt;
49  fLocationKsi = copy.fLocationKsi;
50  fLocationEta = copy.fLocationEta;
51  fWeight = copy.fWeight;
52  fOrder = copy.fOrder;
53  return *this;
54  }
56  ~TPZIntRuleT();
57 
62  int ComputingSymmetricCubatureRule(int order);
63 
69  void TransformBarycentricCoordInCartesianCoord(long double baryvec[],long double weightvec[]);
70 
71 public:
72  enum {NRULESTRIANGLE_ORDER = 21};
73 
75  int NInt() const { return fNumInt;}
76 
78  void Loc(int i, TPZVec<REAL> &pos) const;
79 
81  REAL W(int i) const;
82 
84  int Order() const
85  {
86  return fOrder;
87  }
88 
89 };
90 
91 #endif
Integration rule (points and weights) for triangles. Numerical Integration.
Definition: tpzintrulet.h:18
TPZIntRuleT & operator=(const TPZIntRuleT &copy)
Definition: tpzintrulet.h:46
REAL W(int i) const
Return weight for the ith point.
Definition: tpzintrulet.cpp:43
int fNumInt
Number of integration points for this object.
Definition: tpzintrulet.h:24
int ComputingSymmetricCubatureRule(int order)
Computes the cubature rules following the symmetric construction presented at Linbo Zhang article...
Templated vector implementation.
TPZManVector< long double > fLocationKsi
Location of the integration point Ksi.
Definition: tpzintrulet.h:26
TPZManVector< long double > fLocationEta
Location of the integration point Eta.
Definition: tpzintrulet.h:28
int NInt() const
Returns number of integration points.
Definition: tpzintrulet.h:75
TPZManVector< long double > fWeight
Weight of the integration point.
Definition: tpzintrulet.h:30
int fOrder
the polynomial order this integration rule can integrate
Definition: tpzintrulet.h:32
void Loc(int i, TPZVec< REAL > &pos) const
Returns location of the ith point.
Definition: tpzintrulet.cpp:30
void TransformBarycentricCoordInCartesianCoord(long double baryvec[], long double weightvec[])
Transforms barycentric coordinates (3 component) of the point in triange in cartesian coordinates (2 ...
TPZIntRuleT(const TPZIntRuleT &copy)
Definition: tpzintrulet.h:40
Creates instances of all integration rules for rapid selection. Numerical Integration.
Free store vector implementation.
~TPZIntRuleT()
Default destructor.
Definition: tpzintrulet.cpp:21
TPZIntRuleT(int order)
Constructor of integration rule for triangle.
Definition: tpzintrulet.cpp:10
int Order() const
Order associated with the integration rule.
Definition: tpzintrulet.h:84
Contains the declaration of TPZFlopCounter class and TPZCounter struct.