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

Handles the numerical integration for three-dimensional problems using cube elements. Numerical Integration. More...

#include <pzquad.h>

Inheritance diagram for TPZIntCube3D:
[legend]
Collaboration diagram for TPZIntCube3D:
[legend]

Public Types

enum  { Dim }
 

Public Member Functions

 TPZIntCube3D (int OrdK=2, int OrdE=2, int OrdZ=2)
 Constructor with three one dimensional rules. More...
 
 TPZIntCube3D (const TPZIntCube3D &copy)
 Copy constructor. More...
 
TPZIntCube3Doperator= (const TPZIntCube3D &copy)
 
virtual ~TPZIntCube3D ()
 Destructor. More...
 
virtual int NPoints () const
 Returns number of points for the cubature rule related. More...
 
virtual void Point (int ip, TPZVec< REAL > &pos, REAL &w) const
 Returns i-th point at master element and related weight. More...
 
virtual void SetType (int type, int order)
 Sets the type of gaussian quadrature as Lobatto, Raud or Legendre rule. More...
 
virtual void SetOrder (TPZVec< int > &ord, int type=0)
 Sets the order of the cubature rule. More...
 
virtual void GetOrder (TPZVec< int > &ord) const
 Gets the order of the integration rule for each dimension of the master element. More...
 
virtual int GetRealMaxOrder () const
 
virtual int GetMaxOrder () const
 Returns the minimum order to integrate polinomials exactly for all implemented cubature rules. More...
 
virtual int Dimension () const
 Returns the dimension of the master element related for the cubature rule. More...
 
virtual TPZIntPointsPrismExtend (int order)
 
virtual TPZIntPointsClone () const
 Make a clone of the related cubature rule. More...
 
void Name (std::string &name) const
 Returns the name of the cubature rule. More...
 
- Public Member Functions inherited from TPZIntPoints
virtual ~TPZIntPoints ()
 Default destructor. More...
 
 TPZIntPoints ()
 
 TPZIntPoints (const TPZIntPoints &copy)
 
TPZIntPointsoperator= (const TPZIntPoints &copy)
 
virtual void Print (std::ostream &out) const
 Prints information of the cubature rule. More...
 

Private Attributes

int fOrdKsi
 
int fOrdEta
 
int fOrdZeta
 
TPZGaussRulefIntKsi
 
TPZGaussRulefIntEta
 
TPZGaussRulefIntZeta
 

Detailed Description

Handles the numerical integration for three-dimensional problems using cube elements. Numerical Integration.

Definition at line 246 of file pzquad.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Dim 

Definition at line 254 of file pzquad.h.

Constructor & Destructor Documentation

◆ TPZIntCube3D() [1/2]

TPZIntCube3D::TPZIntCube3D ( int  OrdK = 2,
int  OrdE = 2,
int  OrdZ = 2 
)

Constructor with three one dimensional rules.

Parameters
OrdKOrder for $ \xi $ axe
OrdEOrder for $ \eta $ axe
OrdZOrder for $ \zeta $ axe at master element.

Definition at line 253 of file pzquad.cpp.

References TPZIntRuleList::GetRule(), TPZIntRuleList::gIntRuleList, and TPZGaussRule::Order().

◆ TPZIntCube3D() [2/2]

TPZIntCube3D::TPZIntCube3D ( const TPZIntCube3D copy)
inline

Copy constructor.

Definition at line 263 of file pzquad.h.

◆ ~TPZIntCube3D()

virtual TPZIntCube3D::~TPZIntCube3D ( )
inlinevirtual

Destructor.

Definition at line 280 of file pzquad.h.

References TPZInt1d::NPoints(), and TPZInt1d::Point().

Member Function Documentation

◆ Clone()

virtual TPZIntPoints* TPZIntCube3D::Clone ( ) const
inlinevirtual

Make a clone of the related cubature rule.

Implements TPZIntPoints.

Definition at line 307 of file pzquad.h.

◆ Dimension()

virtual int TPZIntCube3D::Dimension ( ) const
inlinevirtual

Returns the dimension of the master element related for the cubature rule.

Implements TPZIntPoints.

Definition at line 298 of file pzquad.h.

References TPZInt1d::Dim.

◆ GetMaxOrder()

virtual int TPZIntCube3D::GetMaxOrder ( ) const
inlinevirtual

Returns the minimum order to integrate polinomials exactly for all implemented cubature rules.

Note
To get real maxime order for especific rule call GetRealMaxOrder(), but for Gauss rule 1D the implementation can to compute a cubature rule up to on hundred order.

TPZIntPoints method that returns a coherent maxime order to work It is necessary because now can to be computed rule with integration points up to one thousand.

Reimplemented from TPZIntPoints.

Definition at line 294 of file pzquad.h.

◆ GetOrder()

void TPZIntCube3D::GetOrder ( TPZVec< int > &  ord) const
virtual

Gets the order of the integration rule for each dimension of the master element.

Parameters
ordVector (3d) to get the orders of the polinomial integrated exactly.

Implements TPZIntPoints.

Definition at line 301 of file pzquad.cpp.

◆ GetRealMaxOrder()

int TPZIntCube3D::GetRealMaxOrder ( ) const
virtual

◆ Name()

void TPZIntCube3D::Name ( std::string &  name) const
inlinevirtual

Returns the name of the cubature rule.

Reimplemented from TPZIntPoints.

Definition at line 313 of file pzquad.h.

◆ NPoints()

int TPZIntCube3D::NPoints ( ) const
virtual

Returns number of points for the cubature rule related.

Implements TPZIntPoints.

Definition at line 262 of file pzquad.cpp.

References PZError.

◆ operator=()

TPZIntCube3D& TPZIntCube3D::operator= ( const TPZIntCube3D copy)
inline

Definition at line 267 of file pzquad.h.

References fIntEta, fIntKsi, fIntZeta, fOrdEta, fOrdKsi, fOrdZeta, and TPZIntPoints::operator=().

◆ Point()

void TPZIntCube3D::Point ( int  i,
TPZVec< REAL > &  pos,
REAL &  w 
) const
virtual

Returns i-th point at master element and related weight.

Parameters
iIndex of the integration point at cubature rule (the sequence is not important)
posVector (3d) to get the coordinates of the point at master element.
wIt gets the weight related with integration point.

Implements TPZIntPoints.

Definition at line 270 of file pzquad.cpp.

References PZError.

◆ PrismExtend()

virtual TPZIntPoints* TPZIntCube3D::PrismExtend ( int  order)
inlinevirtual

Implements TPZIntPoints.

Definition at line 303 of file pzquad.h.

◆ SetOrder()

void TPZIntCube3D::SetOrder ( TPZVec< int > &  ord,
int  type = 0 
)
virtual

Sets the order of the cubature rule.

Parameters
ordVector of orders for each dimension, to reach a exactly integration for polinomial corresponding
typeType of the integration rule, mainly important for 1d rules.

Implements TPZIntPoints.

Definition at line 289 of file pzquad.cpp.

References TPZIntRuleList::GetRule(), TPZIntRuleList::gIntRuleList, and TPZGaussRule::Order().

◆ SetType()

virtual void TPZIntCube3D::SetType ( int  type,
int  order 
)
inlinevirtual

Sets the type of gaussian quadrature as Lobatto, Raud or Legendre rule.

Note
It is util for one-dimensional, quadrangular and hexahedra master element.

Reimplemented from TPZIntPoints.

Definition at line 286 of file pzquad.h.

References TPZInt1d::GetOrder(), TPZInt1d::GetRealMaxOrder(), TPZInt1d::SetOrder(), and TPZGaussRule::SetType().

Member Data Documentation

◆ fIntEta

TPZGaussRule* TPZIntCube3D::fIntEta
private

Definition at line 251 of file pzquad.h.

Referenced by operator=().

◆ fIntKsi

TPZGaussRule* TPZIntCube3D::fIntKsi
private

Definition at line 250 of file pzquad.h.

Referenced by operator=().

◆ fIntZeta

TPZGaussRule* TPZIntCube3D::fIntZeta
private

Definition at line 252 of file pzquad.h.

Referenced by operator=().

◆ fOrdEta

int TPZIntCube3D::fOrdEta
private

Definition at line 248 of file pzquad.h.

Referenced by operator=().

◆ fOrdKsi

int TPZIntCube3D::fOrdKsi
private

Definition at line 247 of file pzquad.h.

Referenced by operator=().

◆ fOrdZeta

int TPZIntCube3D::fOrdZeta
private

Definition at line 249 of file pzquad.h.

Referenced by operator=().


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