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

Handles the numerical integration for three-dimensional problems using prism elements. Numerical Integration This cubature rule uses a cubature rule for one dimension (zeta) and a cubature rule for triangle (base). More...

#include <pzquad.h>

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

Public Types

enum  { Dim }
 

Public Member Functions

 TPZIntPrism3D (int OrdK=2, int OrdL=2)
 Constructor with orders for a one dimensional rule and a cubature rule for triangle. More...
 
 TPZIntPrism3D (const TPZIntPrism3D &copy)
 Copy constructor. More...
 
TPZIntPrism3Doperator= (const TPZIntPrism3D &copy)
 
virtual ~TPZIntPrism3D ()
 Destructor. More...
 
int NPoints () const
 Returns number of points for the cubature rule related. More...
 
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...
 
void SetOrder (TPZVec< int > &ord, int type=0)
 Sets the order of the cubature rule. More...
 
void GetOrder (TPZVec< int > &ord) const
 Gets the order of the integration rule for each dimension of the master element. More...
 
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)
 
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 fOrdKti
 
TPZInt1d fIntRule1D
 
TPZIntTriang fIntTriang
 

Detailed Description

Handles the numerical integration for three-dimensional problems using prism elements. Numerical Integration This cubature rule uses a cubature rule for one dimension (zeta) and a cubature rule for triangle (base).

Definition at line 417 of file pzquad.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Dim 

Definition at line 423 of file pzquad.h.

Constructor & Destructor Documentation

◆ TPZIntPrism3D() [1/2]

TPZIntPrism3D::TPZIntPrism3D ( int  OrdK = 2,
int  OrdL = 2 
)

Constructor with orders for a one dimensional rule and a cubature rule for triangle.

Parameters
OrdKOrder for one dimensional cubature rule
OrdLOrder for cubature rule for triangle

Definition at line 408 of file pzquad.cpp.

References fIntRule1D, fIntTriang, fOrdKsi, fOrdKti, TPZInt1d::GetOrder(), and TPZIntTriang::GetOrder().

◆ TPZIntPrism3D() [2/2]

TPZIntPrism3D::TPZIntPrism3D ( const TPZIntPrism3D copy)
inline

Copy constructor.

Definition at line 431 of file pzquad.h.

◆ ~TPZIntPrism3D()

TPZIntPrism3D::~TPZIntPrism3D ( )
virtual

Destructor.

Definition at line 416 of file pzquad.cpp.

Member Function Documentation

◆ Clone()

TPZIntPoints* TPZIntPrism3D::Clone ( ) const
inlinevirtual

Make a clone of the related cubature rule.

Implements TPZIntPoints.

Definition at line 464 of file pzquad.h.

◆ Dimension()

virtual int TPZIntPrism3D::Dimension ( ) const
inlinevirtual

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

Implements TPZIntPoints.

Definition at line 455 of file pzquad.h.

References TPZInt1d::Dim.

◆ GetMaxOrder()

int TPZIntPrism3D::GetMaxOrder ( ) const
virtual

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 85 of file pzquad.cpp.

References TPZIntRuleT::NRULESTRIANGLE_ORDER.

◆ GetOrder()

void TPZIntPrism3D::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 453 of file pzquad.cpp.

References fOrdKsi, and fOrdKti.

◆ Name()

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

Returns the name of the cubature rule.

Reimplemented from TPZIntPoints.

Definition at line 470 of file pzquad.h.

◆ NPoints()

int TPZIntPrism3D::NPoints ( ) const
virtual

Returns number of points for the cubature rule related.

Implements TPZIntPoints.

Definition at line 419 of file pzquad.cpp.

References fIntRule1D, fIntTriang, TPZInt1d::NPoints(), and TPZIntTriang::NPoints().

Referenced by Point().

◆ operator=()

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

◆ Point()

void TPZIntPrism3D::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 423 of file pzquad.cpp.

References fIntRule1D, fIntTriang, TPZIntTriang::NPoints(), NPoints(), TPZInt1d::Point(), TPZIntTriang::Point(), and PZError.

◆ PrismExtend()

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

Implements TPZIntPoints.

Definition at line 460 of file pzquad.h.

◆ SetOrder()

void TPZIntPrism3D::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 438 of file pzquad.cpp.

References fIntRule1D, fIntTriang, fOrdKsi, fOrdKti, TPZInt1d::GetOrder(), TPZIntTriang::GetOrder(), TPZInt1d::SetOrder(), and TPZIntTriang::SetOrder().

◆ SetType()

virtual void TPZIntPrism3D::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 449 of file pzquad.h.

References TPZInt1d::GetMaxOrder(), TPZInt1d::GetOrder(), TPZInt1d::SetOrder(), and TPZInt1d::SetType().

Member Data Documentation

◆ fIntRule1D

TPZInt1d TPZIntPrism3D::fIntRule1D
private

Definition at line 419 of file pzquad.h.

Referenced by NPoints(), operator=(), Point(), SetOrder(), and TPZIntPrism3D().

◆ fIntTriang

TPZIntTriang TPZIntPrism3D::fIntTriang
private

Definition at line 420 of file pzquad.h.

Referenced by NPoints(), operator=(), Point(), SetOrder(), and TPZIntPrism3D().

◆ fOrdKsi

int TPZIntPrism3D::fOrdKsi
private

Definition at line 418 of file pzquad.h.

Referenced by GetOrder(), operator=(), SetOrder(), and TPZIntPrism3D().

◆ fOrdKti

int TPZIntPrism3D::fOrdKti
private

Definition at line 418 of file pzquad.h.

Referenced by GetOrder(), operator=(), SetOrder(), and TPZIntPrism3D().


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