NeoPZ
pzshapetetra.h
Go to the documentation of this file.
1 
6 #ifndef SHAPETETRAHPP
7 #define SHAPETETRAHPP
8 
9 #include "pzfmatrix.h"
10 #include "pzstack.h"
11 #include "pztrnsform.h"
12 #include "tpztetrahedron.h"
13 #include "pzshtmat.h"
14 
16 namespace pzshape {
17 
26 
27  public:
28 
41  static void Shape(TPZVec<REAL> &pt, TPZVec<int64_t> &id, TPZVec<int> &order, TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi);
42 
43  static void SideShape(int side, TPZVec<REAL> &pt, TPZVec<int64_t> &id, TPZVec<int> &order, TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi);
44 
48  static void ShapeOrder(TPZVec<int64_t> &id, TPZVec<int> &order, TPZGenMatrix<int> &shapeorders);//, TPZVec<int64_t> &sides
49 
54  static void SideShapeOrder(int side, TPZVec<int64_t> &id, int order, TPZGenMatrix<int> &shapeorders);
55 
56 
63  static void CornerShape(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
64 
71  static void ShapeGenerating(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
72 
73 
87  static void ShapeInternal(TPZVec<REAL> &x, int order,TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
88 
95  static void ProjectPoint3dTetraToRib(int rib, TPZVec<REAL> &in, REAL &outval);
96 
103  static void ProjectPoint3dTetrSide(int side, TPZVec<REAL> &in, REAL &out);
104 
111  static void ProjectPoint3dTetraToFace(int face, TPZVec<REAL> &in, TPZVec<REAL> &outval);
112 
119  static void ProjectPoint3dTetrFace(int face, TPZVec<REAL> &in, TPZVec<REAL> &out);
120 
128  static void TransformDerivativeFromRibToTetra(int rib,int num,TPZFMatrix<REAL> &dphi);
129 
137  static void TransformDerivativeFromFaceToTetra(int face,int num,TPZFMatrix<REAL> &dphi);
138 
140  static REAL gVet1dTetr[6];
141 
143  static REAL gFaceTrans3dTetr2d[4][2][3];
144 
146  static REAL gVet2dTetr[4][2];
147 
149  static REAL gRibTrans3dTetr1d[6][3];
150 
152  static REAL gFaceSum3dTetra2d[4][2];
153 
155  static REAL gFaceTrans3dTetra2d[4][2][3];
156 
158  static REAL gRibSum3dTetra1d[6];
159 
161  static REAL gRibTrans3dTetra1d[6][3];
162 
170  static int NConnectShapeF(int side, int order);
171 
178  static int NShapeF(TPZVec<int> &order);
179 
180  static void ShapeInternal(int side, TPZVec<REAL> &x, int order, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
181  static void ShapeCorner(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
182  };
183 
184 };
185 
186 #endif
static void ShapeCorner(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
static void SideShape(int side, TPZVec< REAL > &pt, TPZVec< int64_t > &id, TPZVec< int > &order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
static void ShapeGenerating(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the generating shape functions for a quadrilateral element.
static int NShapeF(TPZVec< int > &order)
Total number of shapefunctions, considering the order of interpolation of the element.
static REAL gRibSum3dTetra1d[6]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:158
static void ProjectPoint3dTetraToRib(int rib, TPZVec< REAL > &in, REAL &outval)
Projects a point from the interior of the element to a rib.
groups all classes dedicated to the computation of shape functions
Definition: pzshapeextend.h:16
static void ShapeOrder(TPZVec< int64_t > &id, TPZVec< int > &order, TPZGenMatrix< int > &shapeorders)
returns the polynomial order in the natural ksi, eta of the side associated with each shapefunction ...
Implements the shape functions of a tetrahedral (3D) element. Shape.
Definition: pzshapetetra.h:25
static void TransformDerivativeFromFaceToTetra(int face, int num, TPZFMatrix< REAL > &dphi)
Transforms the derivative of a shapefunction computed on the face into the three dimensional derivati...
static REAL gRibTrans3dTetr1d[6][3]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:149
Contains the TPZTetrahedron class which defines the topology of the tetrahedron element.
static void ProjectPoint3dTetrFace(int face, TPZVec< REAL > &in, TPZVec< REAL > &out)
Projects a point from the interior of the element to a face.
static int NConnectShapeF(int side, int order)
Number of shapefunctions of the connect associated with the side, considering the order of interpolat...
static REAL gVet1dTetr[6]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:140
static REAL gRibTrans3dTetra1d[6][3]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:161
Contains TPZMatrixclass which implements full matrix (using column major representation).
static void ShapeInternal(TPZVec< REAL > &x, int order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Compute the internal functions of the tetrahedral shape function at a point.
static void CornerShape(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the corner shape functions for a tetrahedral element.
Implements generic class which holds a matrix of objects. Matrix.
Definition: pzshtmat.h:18
static REAL gFaceTrans3dTetra2d[4][2][3]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:155
A simple stack.
static REAL gFaceTrans3dTetr2d[4][2][3]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:143
static void TransformDerivativeFromRibToTetra(int rib, int num, TPZFMatrix< REAL > &dphi)
Transforms the derivative of a shapefunction computed on the rib into the three dimensional derivativ...
Defines the topology of the tetrahedron element. Topology Sides 0 to 3 are vertices, sides 4 to 9 are lines, sides 10 to 13 are triangles and side 14 is the tetrahedra.
static void SideShapeOrder(int side, TPZVec< int64_t > &id, int order, TPZGenMatrix< int > &shapeorders)
returns the polynomial order in the natural ksi, eta of the internal shapefunctions of a side ...
static void ProjectPoint3dTetrSide(int side, TPZVec< REAL > &in, REAL &out)
Projects a point from the interior of the element to a rib.
static void Shape(TPZVec< REAL > &pt, TPZVec< int64_t > &id, TPZVec< int > &order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the values of the shape functions and their derivatives for a tetrahedral element...
static void ProjectPoint3dTetraToFace(int face, TPZVec< REAL > &in, TPZVec< REAL > &outval)
Projects a point from the interior of the element to a face.
Contains TPZGenMatrix class which implements generic class which holds a matrix of objects...
Contains the TPZTransform<> class which implements an affine transformation between points in paramet...
static REAL gFaceSum3dTetra2d[4][2]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:152
static REAL gVet2dTetr[4][2]
Data structure which defines the tetrahedral transformations and topology.
Definition: pzshapetetra.h:146