NeoPZ
|
Integration rule for tetrahedra. Numerical Integration. More...
#include <tpzintrulet3d.h>
Public Types | |
enum | { NRULESTETRAHEDRA_ORDER } |
Public Member Functions | |
int | NInt () const |
Returns number of integration points. More... | |
void | Loc (int i, TPZVec< REAL > &pos) const |
Returns location of the ith point. More... | |
REAL | W (int i) const |
Returns weight for the ith point. More... | |
int | Order () |
Private Member Functions | |
TPZIntRuleT3D (int i=2) | |
Constructor of integration rule for tetrahedra. More... | |
~TPZIntRuleT3D () | |
Default destructor. It delete the vector of points and weights. More... | |
TPZIntRuleT3D (const TPZIntRuleT3D ©) | |
TPZIntRuleT3D & | operator= (const TPZIntRuleT3D ©) |
int | ComputingSymmetricCubatureRule (int order) |
Computes the cubature rules following the symmetric construction presented at Linbo Zhang article. More... | |
void | TransformBarycentricCoordInCartesianCoord (long double baryvec[], long double weightvec[]) |
Transform barycentric coordinates of the point in tetrahedra by cartesian coordinates (3 component). More... | |
Private Attributes | |
int | fNumInt |
Number of integration points for this object. More... | |
TPZManVector< long double > | fLocationKsi |
Location of the integration point Ksi. More... | |
TPZManVector< long double > | fLocationEta |
Location of the integration point Eta. More... | |
TPZManVector< long double > | fLocationZeta |
Location of the integration point Zeta. More... | |
TPZManVector< long double > | fWeight |
Weight of the integration point. More... | |
int | fOrder |
Polynomial order of the integration rule. More... | |
Friends | |
class | TPZIntRuleList |
The list can to access the constructor of the current class. More... | |
Integration rule for tetrahedra. Numerical Integration.
Definition at line 17 of file tpzintrulet3d.h.
anonymous enum |
Enumerator | |
---|---|
NRULESTETRAHEDRA_ORDER |
Definition at line 72 of file tpzintrulet3d.h.
|
private |
Constructor of integration rule for tetrahedra.
i | Order of the polinomial will be exactly integrated. |
Definition at line 10 of file tpzintrulet3d.cpp.
References ComputingSymmetricCubatureRule(), fOrder, NRULESTETRAHEDRA_ORDER, and PZError.
|
private |
Default destructor. It delete the vector of points and weights.
Definition at line 27 of file tpzintrulet3d.cpp.
References fLocationEta, fLocationKsi, fLocationZeta, fNumInt, fWeight, and TPZManVector< T, NumExtAlloc >::Resize().
|
inlineprivate |
Definition at line 43 of file tpzintrulet3d.h.
|
private |
Computes the cubature rules following the symmetric construction presented at Linbo Zhang article.
order | Order of the polinomial will be exactly integrated. |
Definition at line 447 of file tpzintrulet3d.cpp.
References fLocationEta, fLocationKsi, fLocationZeta, fNumInt, fWeight, PZError, QUAD_TETRAH_P10_pts, QUAD_TETRAH_P10_wts, QUAD_TETRAH_P11_pts, QUAD_TETRAH_P11_wts, QUAD_TETRAH_P12_pts, QUAD_TETRAH_P12_wts, QUAD_TETRAH_P13_pts, QUAD_TETRAH_P13_wts, QUAD_TETRAH_P14_pts, QUAD_TETRAH_P14_wts, QUAD_TETRAH_P1_pts, QUAD_TETRAH_P1_wts, QUAD_TETRAH_P2_pts, QUAD_TETRAH_P2_wts, QUAD_TETRAH_P3_pts, QUAD_TETRAH_P3_wts, QUAD_TETRAH_P4_pts, QUAD_TETRAH_P4_wts, QUAD_TETRAH_P5_pts, QUAD_TETRAH_P5_wts, QUAD_TETRAH_P6_pts, QUAD_TETRAH_P6_wts, QUAD_TETRAH_P7_pts, QUAD_TETRAH_P7_wts, QUAD_TETRAH_P8_pts, QUAD_TETRAH_P8_wts, QUAD_TETRAH_P9_pts, QUAD_TETRAH_P9_wts, TPZManVector< T, NumExtAlloc >::Resize(), and TransformBarycentricCoordInCartesianCoord().
Referenced by operator=(), and TPZIntRuleT3D().
void TPZIntRuleT3D::Loc | ( | int | i, |
TPZVec< REAL > & | pos | ||
) | const |
Returns location of the ith point.
Definition at line 35 of file tpzintrulet3d.cpp.
References fLocationEta, fLocationKsi, fLocationZeta, fNumInt, and PZError.
Referenced by NInt().
|
inline |
Returns number of integration points.
Definition at line 75 of file tpzintrulet3d.h.
|
inlineprivate |
Definition at line 48 of file tpzintrulet3d.h.
References ComputingSymmetricCubatureRule(), fLocationEta, fLocationKsi, fLocationZeta, fNumInt, fOrder, fWeight, and TransformBarycentricCoordInCartesianCoord().
|
inline |
Definition at line 83 of file tpzintrulet3d.h.
References fOrder.
Referenced by TPZIntTetra3D::SetOrder(), and TPZIntTetra3D::TPZIntTetra3D().
|
private |
Transform barycentric coordinates of the point in tetrahedra by cartesian coordinates (3 component).
baryvec | Vector of barycentric coordinates (4 components) for each point |
weightvec | Vector of weights related for each point in baryvec vector |
Definition at line 507 of file tpzintrulet3d.cpp.
References fLocationEta, fLocationKsi, fLocationZeta, fNumInt, and fWeight.
Referenced by ComputingSymmetricCubatureRule(), and operator=().
REAL TPZIntRuleT3D::W | ( | int | i | ) | const |
|
friend |
The list can to access the constructor of the current class.
Definition at line 20 of file tpzintrulet3d.h.
|
private |
Location of the integration point Eta.
Definition at line 27 of file tpzintrulet3d.h.
Referenced by ComputingSymmetricCubatureRule(), Loc(), operator=(), TransformBarycentricCoordInCartesianCoord(), and ~TPZIntRuleT3D().
|
private |
Location of the integration point Ksi.
Definition at line 25 of file tpzintrulet3d.h.
Referenced by ComputingSymmetricCubatureRule(), Loc(), operator=(), TransformBarycentricCoordInCartesianCoord(), and ~TPZIntRuleT3D().
|
private |
Location of the integration point Zeta.
Definition at line 29 of file tpzintrulet3d.h.
Referenced by ComputingSymmetricCubatureRule(), Loc(), operator=(), TransformBarycentricCoordInCartesianCoord(), and ~TPZIntRuleT3D().
|
private |
Number of integration points for this object.
Definition at line 23 of file tpzintrulet3d.h.
Referenced by ComputingSymmetricCubatureRule(), Loc(), NInt(), operator=(), TransformBarycentricCoordInCartesianCoord(), W(), and ~TPZIntRuleT3D().
|
private |
Polynomial order of the integration rule.
Definition at line 33 of file tpzintrulet3d.h.
Referenced by operator=(), Order(), and TPZIntRuleT3D().
|
private |
Weight of the integration point.
Definition at line 31 of file tpzintrulet3d.h.
Referenced by ComputingSymmetricCubatureRule(), operator=(), TransformBarycentricCoordInCartesianCoord(), W(), and ~TPZIntRuleT3D().