NeoPZ
|
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>
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 constructor. More... | |
TPZIntPrism3D & | operator= (const TPZIntPrism3D ©) |
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 TPZIntPoints * | PrismExtend (int order) |
TPZIntPoints * | Clone () 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 ©) | |
TPZIntPoints & | operator= (const TPZIntPoints ©) |
virtual void | Print (std::ostream &out) const |
Prints information of the cubature rule. More... | |
Private Attributes | |
int | fOrdKsi |
int | fOrdKti |
TPZInt1d | fIntRule1D |
TPZIntTriang | fIntTriang |
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).
TPZIntPrism3D::TPZIntPrism3D | ( | int | OrdK = 2 , |
int | OrdL = 2 |
||
) |
Constructor with orders for a one dimensional rule and a cubature rule for triangle.
OrdK | Order for one dimensional cubature rule |
OrdL | Order for cubature rule for triangle |
Definition at line 408 of file pzquad.cpp.
References fIntRule1D, fIntTriang, fOrdKsi, fOrdKti, TPZInt1d::GetOrder(), and TPZIntTriang::GetOrder().
|
inline |
|
virtual |
Destructor.
Definition at line 416 of file pzquad.cpp.
|
inlinevirtual |
Make a clone of the related cubature rule.
Implements TPZIntPoints.
|
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.
|
virtual |
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.
Definition at line 85 of file pzquad.cpp.
References TPZIntRuleT::NRULESTRIANGLE_ORDER.
|
virtual |
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.
Definition at line 453 of file pzquad.cpp.
|
inlinevirtual |
Returns the name of the cubature rule.
Reimplemented from TPZIntPoints.
|
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().
|
inline |
Definition at line 434 of file pzquad.h.
References fIntRule1D, fIntTriang, fOrdKsi, fOrdKti, TPZInt1d::NPoints(), TPZIntPoints::operator=(), and TPZInt1d::Point().
|
virtual |
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.
Definition at line 423 of file pzquad.cpp.
References fIntRule1D, fIntTriang, TPZIntTriang::NPoints(), NPoints(), TPZInt1d::Point(), TPZIntTriang::Point(), and PZError.
|
inlinevirtual |
Implements TPZIntPoints.
|
virtual |
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.
Definition at line 438 of file pzquad.cpp.
References fIntRule1D, fIntTriang, fOrdKsi, fOrdKti, TPZInt1d::GetOrder(), TPZIntTriang::GetOrder(), TPZInt1d::SetOrder(), and TPZIntTriang::SetOrder().
|
inlinevirtual |
Sets the type of gaussian quadrature as Lobatto, Raud or Legendre rule.
Reimplemented from TPZIntPoints.
Definition at line 449 of file pzquad.h.
References TPZInt1d::GetMaxOrder(), TPZInt1d::GetOrder(), TPZInt1d::SetOrder(), and TPZInt1d::SetType().
|
private |
Definition at line 419 of file pzquad.h.
Referenced by NPoints(), operator=(), Point(), SetOrder(), and TPZIntPrism3D().
|
private |
Definition at line 420 of file pzquad.h.
Referenced by NPoints(), operator=(), Point(), SetOrder(), and TPZIntPrism3D().
|
private |
Definition at line 418 of file pzquad.h.
Referenced by GetOrder(), operator=(), SetOrder(), and TPZIntPrism3D().
|
private |
Definition at line 418 of file pzquad.h.
Referenced by GetOrder(), operator=(), SetOrder(), and TPZIntPrism3D().