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

Integration rule (points and weights) for triangles. Numerical Integration. More...

#include <tpzintrulet.h>

Collaboration diagram for TPZIntRuleT:
[legend]

Public Types

enum  { NRULESTRIANGLE_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
 Return weight for the ith point. More...
 
int Order () const
 Order associated with the integration rule. More...
 

Private Member Functions

 TPZIntRuleT (int order)
 Constructor of integration rule for triangle. More...
 
 TPZIntRuleT (const TPZIntRuleT &copy)
 
TPZIntRuleToperator= (const TPZIntRuleT &copy)
 
 ~TPZIntRuleT ()
 Default destructor. More...
 
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[])
 Transforms barycentric coordinates (3 component) of the point in triange in cartesian coordinates (2 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 > fWeight
 Weight of the integration point. More...
 
int fOrder
 the polynomial order this integration rule can integrate More...
 

Friends

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

Detailed Description

Integration rule (points and weights) for triangles. Numerical Integration.

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

Definition at line 18 of file tpzintrulet.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NRULESTRIANGLE_ORDER 

Definition at line 72 of file tpzintrulet.h.

Constructor & Destructor Documentation

◆ TPZIntRuleT() [1/2]

TPZIntRuleT::TPZIntRuleT ( int  order)
private

Constructor of integration rule for triangle.

Parameters
orderOrder of the polinomial will be exactly integrated.

Definition at line 10 of file tpzintrulet.cpp.

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

◆ TPZIntRuleT() [2/2]

TPZIntRuleT::TPZIntRuleT ( const TPZIntRuleT copy)
inlineprivate

Definition at line 40 of file tpzintrulet.h.

◆ ~TPZIntRuleT()

TPZIntRuleT::~TPZIntRuleT ( )
private

Default destructor.

Definition at line 21 of file tpzintrulet.cpp.

References fLocationEta, fLocationKsi, fNumInt, fWeight, and TPZManVector< T, NumExtAlloc >::Resize().

Referenced by operator=().

Member Function Documentation

◆ ComputingSymmetricCubatureRule()

int TPZIntRuleT::ComputingSymmetricCubatureRule ( int  order)
private

◆ Loc()

void TPZIntRuleT::Loc ( int  i,
TPZVec< REAL > &  pos 
) const

Returns location of the ith point.

Definition at line 30 of file tpzintrulet.cpp.

References fLocationEta, fLocationKsi, fNumInt, and PZError.

Referenced by NInt().

◆ NInt()

int TPZIntRuleT::NInt ( ) const
inline

Returns number of integration points.

Definition at line 75 of file tpzintrulet.h.

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

◆ operator=()

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

◆ Order()

int TPZIntRuleT::Order ( ) const
inline

Order associated with the integration rule.

Definition at line 84 of file tpzintrulet.h.

References fOrder.

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

◆ TransformBarycentricCoordInCartesianCoord()

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

Transforms barycentric coordinates (3 component) of the point in triange in cartesian coordinates (2 component).

Parameters
baryvecVector of barycentric coordinates (3 components) for each point
weightvecVector of weights related for each point in baryvec vector

Definition at line 719 of file tpzintrulet.cpp.

References fLocationEta, fLocationKsi, fNumInt, and fWeight.

Referenced by ComputingSymmetricCubatureRule(), and operator=().

◆ W()

REAL TPZIntRuleT::W ( int  i) const

Return weight for the ith point.

Definition at line 43 of file tpzintrulet.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 21 of file tpzintrulet.h.

Member Data Documentation

◆ fLocationEta

TPZManVector<long double> TPZIntRuleT::fLocationEta
private

Location of the integration point Eta.

Definition at line 28 of file tpzintrulet.h.

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

◆ fLocationKsi

TPZManVector<long double> TPZIntRuleT::fLocationKsi
private

Location of the integration point Ksi.

Definition at line 26 of file tpzintrulet.h.

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

◆ fNumInt

int TPZIntRuleT::fNumInt
private

Number of integration points for this object.

Definition at line 24 of file tpzintrulet.h.

Referenced by ComputingSymmetricCubatureRule(), Loc(), NInt(), operator=(), TransformBarycentricCoordInCartesianCoord(), W(), and ~TPZIntRuleT().

◆ fOrder

int TPZIntRuleT::fOrder
private

the polynomial order this integration rule can integrate

Definition at line 32 of file tpzintrulet.h.

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

◆ fWeight

TPZManVector<long double> TPZIntRuleT::fWeight
private

Weight of the integration point.

Definition at line 30 of file tpzintrulet.h.

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


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