NeoPZ
pzshapeprism.h
Go to the documentation of this file.
1 
6 #ifndef SHAPEPRISMHPP
7 #define SHAPEPRISMHPP
8 
9 #include "pzfmatrix.h"
10 #include "pzstack.h"
11 #include "pztrnsform.h"
12 #include "tpzprism.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,
43 
44  static void SideShape(int side, TPZVec<REAL> &pt, TPZVec<int64_t> &id, TPZVec<int> &order,
46 
50  static void ShapeOrder(TPZVec<int64_t> &id, TPZVec<int> &order, TPZGenMatrix<int> &shapeorders);//, TPZVec<int64_t> &sides
51 
56  static void SideShapeOrder(int side, TPZVec<int64_t> &id, int order, TPZGenMatrix<int> &shapeorders);
57 
58 
65  static void CornerShape(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
66 
73  static void ShapeGenerating(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
74 
88  static void ShapeInternal(TPZVec<REAL> &x, int order,TPZFMatrix<REAL> &phi,
89  TPZFMatrix<REAL> &dphi);
90 
97  static void ProjectPoint3dPrismaToRib(int rib, TPZVec<REAL> &in, REAL &outval);
98 
105  static void ProjectPoint3dPrismaToFace(int face, TPZVec<REAL> &in, TPZVec<REAL> &outval);
106 
118  static void TransformPoint3dPrismaFace(int transid, int face, TPZVec<REAL> &in, TPZVec<REAL> &out);
119 
120 
128  static void TransformDerivativeFromRibToPrisma(int rib,int num,TPZFMatrix<REAL> &dphi);
129 
137  static void TransformDerivativeFromFaceToPrisma(int face,int num,TPZFMatrix<REAL> &dphi);
138 
147  static void TransformDerivativeFace3dPrisma(int transid, int face, int num, TPZFMatrix<REAL> &in);
148 
150  static REAL gFaceTrans3dPrisma2d[5][2][3];
151 
153  static REAL gFaceSum3dPrisma2d[5][2];
154 
156  static REAL gRibTrans3dPrisma1d[9][3];
157 
159  static REAL gRibSum3dPrisma1d[9];
160 
168  static int NConnectShapeF(int side, int order);
169 
176  static int NShapeF(TPZVec<int> &order);
177 
178  static void ShapeInternal(int side, TPZVec<REAL> &x, int order, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
179  static void ShapeCorner(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
180 
181  };
182 
183 };
184 
185 #endif
static void TransformDerivativeFromRibToPrisma(int rib, int num, TPZFMatrix< REAL > &dphi)
Transforms the derivative of a shapefunction computed on the rib into the three dimensional derivativ...
static REAL gRibTrans3dPrisma1d[9][3]
Data structure which defines the hexahedral transformations and topology.
Definition: pzshapeprism.h:156
static REAL gRibSum3dPrisma1d[9]
Data structure which defines the hexahedral transformations and topology.
Definition: pzshapeprism.h:159
static int NConnectShapeF(int side, int order)
Number of shapefunctions of the connect associated with the side, considering the order of interpolat...
groups all classes dedicated to the computation of shape functions
Definition: pzshapeextend.h:16
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 prism element.
static void ProjectPoint3dPrismaToRib(int rib, TPZVec< REAL > &in, REAL &outval)
Projects a point from the interior of the element to a rib.
static void TransformDerivativeFace3dPrisma(int transid, int face, int num, TPZFMatrix< REAL > &in)
Transform the derivatives of the shapefunction on the shape (i.e. two dimensional derivative) to acou...
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 ShapeGenerating(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the generating shape functions for the prism element.
static void SideShape(int side, TPZVec< REAL > &pt, TPZVec< int64_t > &id, TPZVec< int > &order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
static REAL gFaceTrans3dPrisma2d[5][2][3]
Data structure which defines the hexahedral transformations and topology.
Definition: pzshapeprism.h:150
static void CornerShape(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the corner shape functions for a prism element.
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 prism shape function at a point.
static int NShapeF(TPZVec< int > &order)
Total number of shapefunctions, considering the order of interpolation of the element.
Defines the topology of a Prism. Topology Sides 0 to 7 are vertices, sides 7 to 14 are lines...
Definition: tpzprism.h:34
static void ProjectPoint3dPrismaToFace(int face, TPZVec< REAL > &in, TPZVec< REAL > &outval)
Projects a point from the interior of the element to a face.
Implements generic class which holds a matrix of objects. Matrix.
Definition: pzshtmat.h:18
A simple stack.
Implements the shape functions of a prism (3D) element. Shape.
Definition: pzshapeprism.h:25
static void ShapeCorner(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
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 void TransformPoint3dPrismaFace(int transid, int face, TPZVec< REAL > &in, TPZVec< REAL > &out)
Transforms a point on the face by the corresponding transformation.
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 ...
Contains the TPZPrism class which defines the topology of a Prism.
static REAL gFaceSum3dPrisma2d[5][2]
Data structure which defines the hexahedral transformations and topology.
Definition: pzshapeprism.h:153
static void TransformDerivativeFromFaceToPrisma(int face, int num, TPZFMatrix< REAL > &dphi)
Transforms the derivative of a shapefunction computed on the face into the three dimensional derivati...