NeoPZ
|
Defines integration rules for lines, quadrilaterals, triangles, cubes, tetrahedra, pyramids and prisms. More...
Classes | |
class | TPZInt1d |
Handles the numerical integration for one-dimensional problems. Numerical Integration. More... | |
class | TPZIntTriang |
Handles the numerical integration for two-dimensional problems using triangular elements. Numerical Integration. More... | |
class | TPZIntQuad |
Handles the numerical integration for two-dimensional problems using quadrilateral elements. Numerical Integration. More... | |
class | TPZIntCube3D |
Handles the numerical integration for three-dimensional problems using cube elements. Numerical Integration. More... | |
class | TPZIntTetra3D |
Handles the numerical integration for three-dimensional problems using tetraedra elements. Numerical Integration. More... | |
class | TPZIntPyram3D |
Handles the numerical integration for three-dimensional problems using pyramid elements. Numerical Integration. More... | |
class | TPZIntPrism3D |
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... | |
class | TPZInt1Point |
Integration rule for one point. Numerical Integration. More... | |
class | TPZGaussRule |
Implements the Gaussian quadrature. Numerical Integration Abstract class. More... | |
class | TPZIntPoints |
Abstract class defining integration rules. Numerical Integration. More... | |
class | TPZIntRuleList |
Creates instances of all integration rules for rapid selection. Numerical Integration. More... | |
class | TPZIntRuleP3D |
Integration rule for pyramid. Numerical Integration. More... | |
class | TPZIntRuleT |
Integration rule (points and weights) for triangles. Numerical Integration. More... | |
class | TPZIntRuleT3D |
Integration rule for tetrahedra. Numerical Integration. More... | |
class | TPZPrInteg< TFather > |
Prismatic extension of an integration rule. Numerical Integration. More... | |
Functions | |
TPZInt1Point::TPZInt1Point (int order=0) | |
virtual | TPZInt1Point::~TPZInt1Point () |
int | TPZInt1Point::NPoints () const |
Returns number of points for the cubature rule related. More... | |
void | TPZInt1Point::Point (int ip, TPZVec< REAL > &pos, REAL &w) const |
Returns i-th point at master element and related weight. More... | |
void | TPZInt1Point::SetOrder (TPZVec< int > &ord, int type=0) |
Sets the order of the cubature rule. More... | |
void | TPZInt1Point::GetOrder (TPZVec< int > &ord) const |
Gets the order of the integration rule for each dimension of the master element. More... | |
int | TPZInt1Point::GetMaxOrder () const |
Returns the minimum order to integrate polinomials exactly for all implemented cubature rules. More... | |
TPZIntPoints * | TPZInt1Point::PrismExtend (int order) |
Variables | |
static TPZIntRuleList | TPZIntRuleList::gIntRuleList |
Static variable with list of all integration rules. More... | |
Auxiliar methods to evaluate the Jacobi polinomial | |
long double | machinePrecision () |
long double | gamma (unsigned int n) |
Evaluate the factorial of a integer. More... | |
long double | gamma (long double x) |
Evaluates the Gamma function for a real number x, Gamma(x). The computation is based on an algorithm outlined in "An Overview of Software Development for Special Functions, in Numerical Analysis" (Dundee, 1975) by William Cody. More... | |
Defines integration rules for lines, quadrilaterals, triangles, cubes, tetrahedra, pyramids and prisms.
Allow the user to define the order of the polynomial, the rule should be able to integrate exactly.
All the computations into this module use and return long double values. Because the precision of the points and weights will be right and are independent of the typedef REAL definition.
long double gamma | ( | unsigned int | n | ) |
Evaluate the factorial of a integer.
n | The integer to compute the factorial |
Evaluates the Gamma function for integers - Factorial function
Definition at line 567 of file tpzgaussrule.cpp.
Referenced by TPZEulerConsLaw::ApproxRoe_Flux(), TPZGaussRule::ComputingGaussJacobiQuadrature(), TPZGaussRule::ComputingGaussLobattoQuadrature(), TPZArtDiff::ContributeExplDiff(), TPZSandlerExtended::DDistFunc1(), TPZElasticityAxiMaterial::Errors(), TPZMixedElasticityMaterial::Errors(), TPZSandlerExtended::F1Cyl(), TPZSandlerExtended::F2Cyl(), TPZEulerEquation::Gamma(), TPZFlowCompMesh::MaxVelocityOfMesh(), QMR(), TPZYCMohrCoulombPV::ReturnMapLeftEdge(), TPZMohrCoulombNeto::ReturnMapLeftEdge(), TPZMohrCoulombPV::ReturnMapLeftEdge(), TPZYCMohrCoulombPV::ReturnMapPlane(), TPZMohrCoulombPV::ReturnMapPlane(), TPZMohrCoulombNeto::ReturnMapPlane(), TPZYCMohrCoulombPV::ReturnMapRightEdge(), TPZMohrCoulombNeto::ReturnMapRightEdge(), TPZMohrCoulombPV::ReturnMapRightEdge(), TPZConservationLaw::SetGamma(), TPZGaussRule::SetParametersJacobi(), TPZYCCamClayPV::SetUp(), TPZSandlerExtended::SurfaceParamF2(), TPZAUSMFlux::TPZAUSMFlux(), TPZConservationLaw::TPZConservationLaw(), TPZDiffusionConsLaw::TPZDiffusionConsLaw(), TPZEulerConsLaw::TPZEulerConsLaw(), and TPZEulerEquation::TPZEulerEquation().
long double gamma | ( | long double | x | ) |
Evaluates the Gamma function for a real number x, Gamma(x). The computation is based on an algorithm outlined in "An Overview of Software Development for Special Functions, in Numerical Analysis" (Dundee, 1975) by William Cody.
x | real number to evaluate Gamma(x) |
Evaluates the Gamma function for a real number x, Gamma(x)
Definition at line 575 of file tpzgaussrule.cpp.
|
inlinevirtual |
Returns the minimum order to integrate polinomials exactly for all implemented cubature rules.
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.
|
inlinevirtual |
Gets the order of the integration rule for each dimension of the master element.
ord | Vector (3d) to get the orders of the polinomial integrated exactly. |
Implements TPZIntPoints.
long double machinePrecision | ( | ) |
Returns the machine precision of the computer's arithmetic as long double number
Definition at line 552 of file tpzgaussrule.cpp.
References PZINTEGRAL_MAXITERATIONS_ALLOWED.
Referenced by TPZGaussRule::ComputingGaussJacobiQuadrature(), TPZGaussRule::ComputingGaussLegendreQuadrature(), and TPZGaussRule::SetParametersJacobi().
|
inlinevirtual |
Returns number of points for the cubature rule related.
Implements TPZIntPoints.
|
inlinevirtual |
Returns i-th point at master element and related weight.
i | Index of the integration point at cubature rule (the sequence is not important) |
pos | Vector (3d) to get the coordinates of the point at master element. |
w | It gets the weight related with integration point. |
Implements TPZIntPoints.
|
inlinevirtual |
Implements TPZIntPoints.
|
inlinevirtual |
Sets the order of the cubature rule.
ord | Vector of orders for each dimension, to reach a exactly integration for polinomial corresponding |
type | Type of the integration rule, mainly important for 1d rules. |
Implements TPZIntPoints.
|
static |
Static variable with list of all integration rules.
Definition at line 42 of file tpzintrulelist.h.
Referenced by TPZInt1d::SetOrder(), TPZPrInteg< TFather >::SetOrder(), TPZIntTriang::SetOrder(), TPZIntQuad::SetOrder(), TPZIntCube3D::SetOrder(), TPZIntTetra3D::SetOrder(), TPZIntPyram3D::SetOrder(), TPZInt1d::TPZInt1d(), TPZIntCube3D::TPZIntCube3D(), TPZIntPyram3D::TPZIntPyram3D(), TPZIntQuad::TPZIntQuad(), TPZIntTetra3D::TPZIntTetra3D(), TPZIntTriang::TPZIntTriang(), and TPZPrInteg< TFather >::TPZPrInteg().