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

Handles the numerical integration for one-dimensional problems. Numerical Integration. More...

#include <pzquad.h>

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

Public Types

enum  { Dim }
 

Public Member Functions

 TPZInt1d (int OrdK=0, int type=0)
 
 TPZInt1d (const TPZInt1d &copy)
 
TPZInt1doperator= (const TPZInt1d &copy)
 
virtual ~TPZInt1d ()
 
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
 
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 Print (std::ostream &out=std::cout) const
 Prints information of the 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)
 

Private Attributes

int fOrdKsi
 
TPZGaussRulefIntP
 

Detailed Description

Handles the numerical integration for one-dimensional problems. Numerical Integration.

Definition at line 36 of file pzquad.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Dim 

Definition at line 40 of file pzquad.h.

Constructor & Destructor Documentation

◆ TPZInt1d() [1/2]

TPZInt1d::TPZInt1d ( int  OrdK = 0,
int  type = 0 
)

Definition at line 90 of file pzquad.cpp.

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

Referenced by Clone().

◆ TPZInt1d() [2/2]

TPZInt1d::TPZInt1d ( const TPZInt1d copy)
inline

Definition at line 42 of file pzquad.h.

◆ ~TPZInt1d()

virtual TPZInt1d::~TPZInt1d ( )
inlinevirtual

Definition at line 50 of file pzquad.h.

References NPoints(), and Point().

Member Function Documentation

◆ Clone()

virtual TPZIntPoints* TPZInt1d::Clone ( ) const
inlinevirtual

Make a clone of the related cubature rule.

Implements TPZIntPoints.

Definition at line 80 of file pzquad.h.

References TPZInt1d().

◆ Dimension()

virtual int TPZInt1d::Dimension ( ) const
inlinevirtual

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

Implements TPZIntPoints.

Definition at line 71 of file pzquad.h.

References Dim.

◆ GetMaxOrder()

virtual int TPZInt1d::GetMaxOrder ( ) const
inlinevirtual

A ordem máxima é muito maior que 36. Seu valor está em GetRealMaxOrder. Entretanto, é preciso dar algum valor aqui para sobrescrever o da classe mãe que retorna o max order do tetraedro, da pirâmide ou do triângulo, que tradicionalmente tem regras menores que linha, quadrilátero e hexaedro

Reimplemented from TPZIntPoints.

Definition at line 67 of file pzquad.h.

Referenced by TPZIntTetra3D::operator=(), TPZIntPyram3D::operator=(), TPZInt1Point::operator=(), TPZIntPrism3D::SetType(), and TPZIntTriang::~TPZIntTriang().

◆ GetOrder()

void TPZInt1d::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 125 of file pzquad.cpp.

Referenced by TPZIntTetra3D::operator=(), TPZIntPyram3D::operator=(), TPZInt1Point::operator=(), TPZIntPrism3D::SetOrder(), SetType(), TPZIntQuad::SetType(), TPZIntCube3D::SetType(), TPZIntPrism3D::SetType(), TPZIntPrism3D::TPZIntPrism3D(), and TPZIntTriang::~TPZIntTriang().

◆ GetRealMaxOrder()

int TPZInt1d::GetRealMaxOrder ( ) const
virtual

◆ Name()

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

Returns the name of the cubature rule.

Reimplemented from TPZIntPoints.

Definition at line 90 of file pzquad.h.

◆ NPoints()

int TPZInt1d::NPoints ( ) const
virtual

◆ operator=()

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

Definition at line 44 of file pzquad.h.

References fIntP, and fOrdKsi.

◆ Point()

void TPZInt1d::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 101 of file pzquad.cpp.

References PZError.

Referenced by TPZPlacaOrthotropic::Force(), TPZPlacaOrthotropic::GradForce(), TPZPlacaOrthotropic::GradMoment(), TPZPlacaOrthotropic::Moment(), TPZIntTetra3D::operator=(), TPZIntPyram3D::operator=(), TPZIntPrism3D::operator=(), TPZInt1Point::operator=(), TPZIntPrism3D::Point(), TPZPlacaOrthotropic::PrintTensors(), ~TPZInt1d(), TPZIntCube3D::~TPZIntCube3D(), TPZIntQuad::~TPZIntQuad(), and TPZIntTriang::~TPZIntTriang().

◆ Print()

void TPZInt1d::Print ( std::ostream &  out = std::cout) const
inlinevirtual

Prints information of the cubature rule.

Parameters
outOstream to print.

Reimplemented from TPZIntPoints.

Definition at line 85 of file pzquad.h.

References TPZGaussRule::Print().

◆ PrismExtend()

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

Implements TPZIntPoints.

Definition at line 76 of file pzquad.h.

Referenced by TPZInt1Point::Dimension().

◆ SetOrder()

void TPZInt1d::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 113 of file pzquad.cpp.

References TPZIntRuleList::GetRule(), TPZIntRuleList::gIntRuleList, TPZVec< T >::NElements(), and TPZGaussRule::Order().

Referenced by TPZIntTetra3D::operator=(), TPZIntPyram3D::operator=(), TPZInt1Point::operator=(), TPZIntPrism3D::SetOrder(), SetType(), TPZIntQuad::SetType(), TPZIntCube3D::SetType(), TPZIntPrism3D::SetType(), and TPZIntTriang::~TPZIntTriang().

◆ SetType()

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

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

Referenced by TPZIntPrism3D::SetType().

Member Data Documentation

◆ fIntP

TPZGaussRule* TPZInt1d::fIntP
private

Definition at line 38 of file pzquad.h.

Referenced by operator=().

◆ fOrdKsi

int TPZInt1d::fOrdKsi
private

Definition at line 37 of file pzquad.h.

Referenced by operator=().


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