NeoPZ
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
TPZIntRuleT3D Class Reference

Integration rule for tetrahedra. Numerical Integration. More...

#include <tpzintrulet3d.h>

Collaboration diagram for TPZIntRuleT3D:
[legend]

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 &copy)
 
TPZIntRuleT3Doperator= (const TPZIntRuleT3D &copy)
 
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...
 

Detailed Description

Integration rule for tetrahedra. Numerical Integration.

Author
Philippe R. B. Devloo phil@.nosp@m.fec..nosp@m.unica.nosp@m.mp.b.nosp@m.r

Definition at line 17 of file tpzintrulet3d.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NRULESTETRAHEDRA_ORDER 

Definition at line 72 of file tpzintrulet3d.h.

Constructor & Destructor Documentation

◆ TPZIntRuleT3D() [1/2]

TPZIntRuleT3D::TPZIntRuleT3D ( int  i = 2)
private

Constructor of integration rule for tetrahedra.

Parameters
iOrder of the polinomial will be exactly integrated.

Definition at line 10 of file tpzintrulet3d.cpp.

References ComputingSymmetricCubatureRule(), fOrder, NRULESTETRAHEDRA_ORDER, and PZError.

◆ ~TPZIntRuleT3D()

TPZIntRuleT3D::~TPZIntRuleT3D ( )
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().

◆ TPZIntRuleT3D() [2/2]

TPZIntRuleT3D::TPZIntRuleT3D ( const TPZIntRuleT3D copy)
inlineprivate

Definition at line 43 of file tpzintrulet3d.h.

Member Function Documentation

◆ ComputingSymmetricCubatureRule()

int TPZIntRuleT3D::ComputingSymmetricCubatureRule ( int  order)
private

◆ Loc()

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().

◆ NInt()

int TPZIntRuleT3D::NInt ( ) const
inline

Returns number of integration points.

Definition at line 75 of file tpzintrulet3d.h.

References fNumInt, Loc(), and W().

◆ operator=()

TPZIntRuleT3D& TPZIntRuleT3D::operator= ( const TPZIntRuleT3D copy)
inlineprivate

◆ Order()

int TPZIntRuleT3D::Order ( )
inline

Definition at line 83 of file tpzintrulet3d.h.

References fOrder.

Referenced by TPZIntTetra3D::SetOrder(), and TPZIntTetra3D::TPZIntTetra3D().

◆ TransformBarycentricCoordInCartesianCoord()

void TPZIntRuleT3D::TransformBarycentricCoordInCartesianCoord ( long double  baryvec[],
long double  weightvec[] 
)
private

Transform barycentric coordinates of the point in tetrahedra by cartesian coordinates (3 component).

Parameters
baryvecVector of barycentric coordinates (4 components) for each point
weightvecVector 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=().

◆ W()

REAL TPZIntRuleT3D::W ( int  i) const

Returns weight for the ith point.

Definition at line 18 of file tpzintrulet3d.cpp.

References fNumInt, fWeight, and PZError.

Referenced by NInt().

Friends And Related Function Documentation

◆ TPZIntRuleList

friend class TPZIntRuleList
friend

The list can to access the constructor of the current class.

Definition at line 20 of file tpzintrulet3d.h.

Member Data Documentation

◆ fLocationEta

TPZManVector<long double> TPZIntRuleT3D::fLocationEta
private

Location of the integration point Eta.

Definition at line 27 of file tpzintrulet3d.h.

Referenced by ComputingSymmetricCubatureRule(), Loc(), operator=(), TransformBarycentricCoordInCartesianCoord(), and ~TPZIntRuleT3D().

◆ fLocationKsi

TPZManVector<long double> TPZIntRuleT3D::fLocationKsi
private

Location of the integration point Ksi.

Definition at line 25 of file tpzintrulet3d.h.

Referenced by ComputingSymmetricCubatureRule(), Loc(), operator=(), TransformBarycentricCoordInCartesianCoord(), and ~TPZIntRuleT3D().

◆ fLocationZeta

TPZManVector<long double> TPZIntRuleT3D::fLocationZeta
private

Location of the integration point Zeta.

Definition at line 29 of file tpzintrulet3d.h.

Referenced by ComputingSymmetricCubatureRule(), Loc(), operator=(), TransformBarycentricCoordInCartesianCoord(), and ~TPZIntRuleT3D().

◆ fNumInt

int TPZIntRuleT3D::fNumInt
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().

◆ fOrder

int TPZIntRuleT3D::fOrder
private

Polynomial order of the integration rule.

Definition at line 33 of file tpzintrulet3d.h.

Referenced by operator=(), Order(), and TPZIntRuleT3D().

◆ fWeight

TPZManVector<long double> TPZIntRuleT3D::fWeight
private

Weight of the integration point.

Definition at line 31 of file tpzintrulet3d.h.

Referenced by ComputingSymmetricCubatureRule(), operator=(), TransformBarycentricCoordInCartesianCoord(), W(), and ~TPZIntRuleT3D().


The documentation for this class was generated from the following files: