NeoPZ
Public Member Functions | List of all members
TPZIntPoints Class Referenceabstract

Abstract class defining integration rules. Numerical Integration. More...

#include <tpzintpoints.h>

Inheritance diagram for TPZIntPoints:
[legend]

Public Member Functions

virtual ~TPZIntPoints ()
 Default destructor. More...
 
 TPZIntPoints ()
 
 TPZIntPoints (const TPZIntPoints &copy)
 
TPZIntPointsoperator= (const TPZIntPoints &copy)
 
virtual void Name (std::string &name) const
 Returns the name of the cubature rule. More...
 
virtual int NPoints () const =0
 Returns number of points for the cubature rule related. More...
 
virtual void Point (int i, TPZVec< REAL > &pos, REAL &w) const =0
 Returns i-th point at master element and related weight. More...
 
virtual void SetOrder (TPZVec< int > &ord, int type=0)=0
 Sets the order of the cubature rule. More...
 
virtual void GetOrder (TPZVec< int > &ord) const =0
 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 =0
 Returns the dimension of the master element related for the cubature rule. More...
 
virtual TPZIntPointsClone () const =0
 Make a clone of the related cubature rule. More...
 
virtual TPZIntPointsPrismExtend (int order)=0
 
virtual void SetType (int type, int order)
 Sets the type of gaussian quadrature as Lobatto, Raud or Legendre rule. More...
 
virtual void Print (std::ostream &out) const
 Prints information of the cubature rule. More...
 

Detailed Description

Abstract class defining integration rules. Numerical Integration.

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

Definition at line 19 of file tpzintpoints.h.

Constructor & Destructor Documentation

◆ ~TPZIntPoints()

virtual TPZIntPoints::~TPZIntPoints ( )
inlinevirtual

Default destructor.

Definition at line 22 of file tpzintpoints.h.

◆ TPZIntPoints() [1/2]

TPZIntPoints::TPZIntPoints ( )
inline

Definition at line 25 of file tpzintpoints.h.

◆ TPZIntPoints() [2/2]

TPZIntPoints::TPZIntPoints ( const TPZIntPoints copy)
inline

Definition at line 30 of file tpzintpoints.h.

Member Function Documentation

◆ Clone()

virtual TPZIntPoints* TPZIntPoints::Clone ( ) const
pure virtual

◆ Dimension()

virtual int TPZIntPoints::Dimension ( ) const
pure virtual

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

Implemented in TPZInt1Point, TPZIntPrism3D, TPZIntPyram3D, TPZIntTetra3D, TPZIntCube3D, TPZIntQuad, TPZIntTriang, and TPZInt1d.

Referenced by pzgeom::GPr< TFather, Topology >::Diagnostic(), and Name().

◆ GetMaxOrder()

int TPZIntPoints::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 in TPZInt1Point, TPZIntPrism3D, TPZIntPyram3D, TPZIntTetra3D, TPZIntCube3D, TPZIntQuad, TPZIntTriang, and TPZInt1d.

Definition at line 30 of file pzquad.cpp.

References TPZIntRuleP3D::NRULESPYRAMID_ORDER, TPZIntRuleT3D::NRULESTETRAHEDRA_ORDER, and TPZIntRuleT::NRULESTRIANGLE_ORDER.

Referenced by TPZInterfaceElement::CalcResidual(), TPZInterfaceElement::ComputeErrorFace(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZMathTools::IntegrateFunction(), TPZInterfaceElement::IntegrateInterface(), TPZInterpolationSpace::InterpolateSolution(), TPZInterpolationSpace::MinMaxSolutionValues(), and Name().

◆ GetOrder()

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

◆ Name()

virtual void TPZIntPoints::Name ( std::string &  name) const
inlinevirtual

Returns the name of the cubature rule.

Reimplemented in TPZInt1Point, TPZIntPrism3D, TPZIntPyram3D, TPZIntTetra3D, TPZIntCube3D, TPZIntQuad, TPZIntTriang, and TPZInt1d.

Definition at line 41 of file tpzintpoints.h.

References Clone(), Dimension(), GetMaxOrder(), GetOrder(), NPoints(), Point(), PrismExtend(), and SetOrder().

◆ NPoints()

virtual int TPZIntPoints::NPoints ( ) const
pure virtual

Returns number of points for the cubature rule related.

Implemented in TPZInt1Point, TPZIntPrism3D, TPZIntPyram3D, TPZIntTetra3D, TPZIntCube3D, TPZIntQuad, TPZIntTriang, TPZInt1d, and TPZIntQuadQuarterPoint.

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZGeoElSide::Area(), TPZPostProcAnalysis::AutoBuildDisc(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZCompElPostProc< TCOMPEL >::CalcResidual(), TPZInterpolationSpace::CalcResidual(), TPZInterfaceElement::CalcResidual(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZInterpolationSpace::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), TPZInterpolatedElement::CheckElementConsistency(), TPZCheckGeom::CheckNeighbourMap(), TPZCheckRestraint::CheckRestraint(), TPZCheckGeom::CheckSideTransform(), TPZCheckGeom::CheckSubFatherTransform(), TPZInterpolatedElement::CompareElement(), CompareFluxes(), TPZInterpolationSpace::ComputeError(), TPZInterfaceElement::ComputeErrorFace(), TPZSBFemVolume::ComputeKMatrices(), TPZGeoEl::ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZRefPatternTools::ConstJacobian(), pzgeom::GPr< TFather, Topology >::Diagnostic(), TPZMGAnalysis::ElementError(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZCompElWithMem< TBASE >::ForcePrepareIntPtIndices(), TPZGradientReconstruction::TPZGradientData::GetCenterPointAndCellAveraged(), TPZMathTools::IntegrateFunction(), TPZInterfaceElement::IntegrateInterface(), TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution(), TPZInterpolationSpace::IntegrateSolution(), TPZCompEl::IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TPZInterpolatedElement::MeanSolution(), TPZInterpolationSpace::MinMaxSolutionValues(), Name(), TPZCompElWithMem< TBASE >::PrepareIntPtIndices(), TPZInterpolationSpace::ProjectFlux(), TPZInterpolatedElement::RestrainSide(), TPZCompElWithMem< TBASE >::SetIntegrationRule(), and TPZRefPatternTools::TransformationTest().

◆ operator=()

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

◆ Point()

virtual void TPZIntPoints::Point ( int  i,
TPZVec< REAL > &  pos,
REAL &  w 
) const
pure 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.

Implemented in TPZInt1Point, TPZIntPrism3D, TPZIntPyram3D, TPZIntTetra3D, TPZIntCube3D, TPZIntQuad, TPZIntTriang, TPZInt1d, and TPZIntQuadQuarterPoint.

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TPZInterpolatedElement::AdjustPreferredSideOrder(), TPZGeoElSide::Area(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZInterpolatedElement::CalcIntegral(), TPZCompElPostProc< TCOMPEL >::CalcResidual(), TPZInterpolationSpace::CalcResidual(), TPZInterfaceElement::CalcResidual(), TPZMultiphysicsCompEl< TGeometry >::CalcResidual(), TPZMultiphysicsInterfaceElement::CalcStiff(), TPZInterpolationSpace::CalcStiff(), TPZInterfaceElement::CalcStiff(), TPZMultiphysicsCompEl< TGeometry >::CalcStiff(), TPZInterpolatedElement::CheckElementConsistency(), TPZCheckGeom::CheckNeighbourMap(), TPZCheckRestraint::CheckRestraint(), TPZCheckGeom::CheckSideTransform(), TPZCheckGeom::CheckSubFatherTransform(), TPZInterpolatedElement::CompareElement(), CompareFluxes(), TPZInterpolationSpace::ComputeError(), TPZInterfaceElement::ComputeErrorFace(), TPZSBFemVolume::ComputeKMatrices(), TPZGeoEl::ComputeParamTrans(), TPZRefPattern::ComputeParamTransform(), TPZRefPatternTools::ConstJacobian(), pzgeom::GPr< TFather, Topology >::Diagnostic(), TPZMGAnalysis::ElementError(), TPZMultiphysicsCompEl< TGeometry >::EvaluateError(), TPZInterpolationSpace::EvaluateError(), TPZSBFemVolume::EvaluateError(), TPZInterfaceElement::EvaluateInterfaceJump(), TPZCompElDisc::EvaluateSquareResidual2D(), TPZGradientReconstruction::TPZGradientData::GetCenterPointAndCellAveraged(), TPZMathTools::IntegrateFunction(), TPZInterfaceElement::IntegrateInterface(), TPZMultiphysicsCompEl< TGeometry >::IntegrateSolution(), TPZInterpolationSpace::IntegrateSolution(), TPZCompEl::IntegrateSolution(), TPZInterpolationSpace::InterpolateSolution(), TPZInterpolatedElement::MeanSolution(), TPZInterpolationSpace::MinMaxSolutionValues(), Name(), TPZInterpolationSpace::ProjectFlux(), TPZInterpolatedElement::RestrainSide(), and TPZRefPatternTools::TransformationTest().

◆ Print()

void TPZIntPoints::Print ( std::ostream &  out) const
virtual

Prints information of the cubature rule.

Parameters
outOstream to print.

Reimplemented in TPZInt1d.

Definition at line 38 of file pzquad.cpp.

Referenced by pztopology::Pr< TFather >::Diagnostic(), TPZInterpolatedElement::Print(), TPZMultiphysicsCompEl< TGeometry >::Print(), and SetType().

◆ PrismExtend()

virtual TPZIntPoints* TPZIntPoints::PrismExtend ( int  order)
pure virtual

◆ SetOrder()

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

◆ SetType()

virtual void TPZIntPoints::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 in TPZIntPrism3D, TPZIntCube3D, TPZIntQuad, and TPZInt1d.

Definition at line 80 of file tpzintpoints.h.

References Print().


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