NeoPZ
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
TPZIntRuleList Class Reference

Creates instances of all integration rules for rapid selection. Numerical Integration. More...

#include <tpzintrulelist.h>

Collaboration diagram for TPZIntRuleList:
[legend]

Public Member Functions

 TPZIntRuleList ()
 Method which initializes all integration rule vectors. More...
 
 ~TPZIntRuleList ()
 Destructor of all integration rule vectors. More...
 
TPZGaussRuleGetRule (int order, int type=0)
 Returns a pointer to an gaussian integration rule with numint points. This method computes the number of points to right Gaussian quadrature. More...
 
TPZIntRuleTGetRuleT (int order)
 Returns a pointer to an integration rule for a triangle. More...
 
TPZIntRuleT3DGetRuleT3D (int order)
 Returns a pointer to an integration rule for a tetrahedra. More...
 
TPZIntRuleP3DGetRuleP3D (int order)
 Returns a pointer to an integration rule for a pyramid. More...
 

Static Public Attributes

static TPZIntRuleList gIntRuleList
 Static variable with list of all integration rules. More...
 

Private Attributes

TPZVec< TPZGaussRule *> fintlist
 Pointer to an array of integration rules (Gauss Legendre) for line, quad and cube elements. More...
 
TPZVec< TPZIntRuleT *> fintlistT
 Pointer to an array of integration rules for triangle. More...
 
TPZVec< TPZIntRuleT3D *> fintlistT3D
 Pointer to an array of integration rules for tetrahedra. More...
 
TPZVec< TPZIntRuleP3D *> fintlistP3D
 Pointer to an array of integration rules for pyramid. More...
 

Detailed Description

Creates instances of all integration rules for rapid selection. Numerical Integration.

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

Definition at line 23 of file tpzintrulelist.h.

Constructor & Destructor Documentation

◆ TPZIntRuleList()

TPZIntRuleList::TPZIntRuleList ( )

Method which initializes all integration rule vectors.

Note
Should be called only once!

Definition at line 16 of file tpzintrulelist.cpp.

References fintlist, fintlistP3D, fintlistT, fintlistT3D, substruct_tst15.test::first, PZError, and TPZVec< T >::Resize().

◆ ~TPZIntRuleList()

TPZIntRuleList::~TPZIntRuleList ( )

Destructor of all integration rule vectors.

Deleting dinamic allocation of the Gauss integration rules at the vector

Deleting dinamic allocation of the cubature rules for triangle at the vector

Deleting dinamic allocation of the cubature rules for tetrahedra at the vector

Deleting dinamic allocation of the cubature rules for pyramid at the vector

Definition at line 43 of file tpzintrulelist.cpp.

References fintlist, fintlistP3D, fintlistT, fintlistT3D, TPZVec< T >::NElements(), and TPZVec< T >::Resize().

Member Function Documentation

◆ GetRule()

TPZGaussRule * TPZIntRuleList::GetRule ( int  order,
int  type = 0 
)

Returns a pointer to an gaussian integration rule with numint points. This method computes the number of points to right Gaussian quadrature.

Parameters
orderDegree of the polinomial for which the integration is exact.
typeType values: 0 - Gauss Legendre (default), 1 - Gauss Lobatto, 2 - Gauss Jacobi

Definition at line 60 of file tpzintrulelist.cpp.

References fintlist, TPZVec< T >::NElements(), TPZGaussRule::NRULESLEGENDRE_ORDER, TPZGaussRule::NRULESLOBATTO_ORDER, and TPZVec< T >::Resize().

Referenced by TPZInt1d::SetOrder(), TPZPrInteg< TFather >::SetOrder(), TPZIntQuad::SetOrder(), TPZIntCube3D::SetOrder(), TPZInt1d::TPZInt1d(), TPZIntCube3D::TPZIntCube3D(), TPZIntQuad::TPZIntQuad(), and TPZPrInteg< TFather >::TPZPrInteg().

◆ GetRuleP3D()

TPZIntRuleP3D * TPZIntRuleList::GetRuleP3D ( int  order)

Returns a pointer to an integration rule for a pyramid.

Parameters
orderDegree of the polinomial for which the integration is exact.

Definition at line 113 of file tpzintrulelist.cpp.

References fintlistP3D, TPZVec< T >::NElements(), and TPZVec< T >::Resize().

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

◆ GetRuleT()

TPZIntRuleT * TPZIntRuleList::GetRuleT ( int  order)

Returns a pointer to an integration rule for a triangle.

Parameters
orderDegree of the polinomial for which the integration is exact.

Definition at line 85 of file tpzintrulelist.cpp.

References fintlistT, TPZVec< T >::NElements(), TPZIntRuleT::NRULESTRIANGLE_ORDER, and TPZVec< T >::Resize().

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

◆ GetRuleT3D()

TPZIntRuleT3D * TPZIntRuleList::GetRuleT3D ( int  order)

Returns a pointer to an integration rule for a tetrahedra.

Parameters
orderDegree of the polinomial for which the integration is exact.

Definition at line 99 of file tpzintrulelist.cpp.

References fintlistT3D, TPZVec< T >::NElements(), TPZIntRuleT3D::NRULESTETRAHEDRA_ORDER, and TPZVec< T >::Resize().

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

Member Data Documentation

◆ fintlist

TPZVec<TPZGaussRule* > TPZIntRuleList::fintlist
private

Pointer to an array of integration rules (Gauss Legendre) for line, quad and cube elements.

Definition at line 27 of file tpzintrulelist.h.

Referenced by GetRule(), TPZIntRuleList(), and ~TPZIntRuleList().

◆ fintlistP3D

TPZVec<TPZIntRuleP3D* > TPZIntRuleList::fintlistP3D
private

Pointer to an array of integration rules for pyramid.

Definition at line 34 of file tpzintrulelist.h.

Referenced by GetRuleP3D(), TPZIntRuleList(), and ~TPZIntRuleList().

◆ fintlistT

TPZVec<TPZIntRuleT* > TPZIntRuleList::fintlistT
private

Pointer to an array of integration rules for triangle.

Definition at line 30 of file tpzintrulelist.h.

Referenced by GetRuleT(), TPZIntRuleList(), and ~TPZIntRuleList().

◆ fintlistT3D

TPZVec<TPZIntRuleT3D* > TPZIntRuleList::fintlistT3D
private

Pointer to an array of integration rules for tetrahedra.

Definition at line 32 of file tpzintrulelist.h.

Referenced by GetRuleT3D(), TPZIntRuleList(), and ~TPZIntRuleList().


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