NeoPZ
pzshapetriang.h
Go to the documentation of this file.
1 
6 #ifndef SHAPETRIANGHPP
7 #define SHAPETRIANGHPP
8 
9 #include "tpztriangle.h"
10 #include "pzshtmat.h"
11 
13 namespace pzshape {
14 
24 
25  public:
26 
39  static void Shape(TPZVec<REAL> &pt, TPZVec<int64_t> &id, TPZVec<int> &order,
41 
42  static void SideShape(int side, TPZVec<REAL> &pt, TPZVec<int64_t> &id, TPZVec<int> &order,
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 ShapeCorner(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
64 
71  static void ShapeGenerating(TPZVec<REAL> &pt, TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
72 
89  static void ShapeInternal(TPZVec<REAL> &x, int order,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi,int triangle_transformation_index);
90 
91 
92  static void ShapeInternal(TPZVec<REAL> &x, int order,TPZFMatrix<REAL> &phi,TPZFMatrix<REAL> &dphi);
93 
94 
101  static void ProjectPoint2dTriangToRib(int rib, TPZVec<REAL> &in, REAL &out);
102 
103 
104 
112  static void TransformDerivativeFromRibToTriang(int rib,int num,TPZFMatrix<REAL> &dphi);
113 
120  static int GetTransformId2dT(TPZVec<int64_t> &id);
121 
129  static void TransformPoint2dT(int transid, TPZVec<REAL> &in, TPZVec<REAL> &out);
130 
138  static void TransformDerivative2dT(int transid, int num, TPZFMatrix<REAL> &in);
139 
141  static REAL gTrans2dT[6][2][2];
142 
144  static REAL gVet2dT[6][2];
146  static REAL gRibTrans2dT1d[3][2];
148  static REAL gVet1dT[3];
149 
157  static int NConnectShapeF(int side, int order);
158 
165  static int NShapeF(TPZVec<int> &order);
166  static TPZTransform<REAL> ParametricTransform(int trans_id);
167  static void ShapeInternal(int side, TPZVec<REAL> &x, int order,
168  TPZFMatrix<REAL> &phi, TPZFMatrix<REAL> &dphi);
169 
170  };
171 
172 };
173 
174 #endif
static void ProjectPoint2dTriangToRib(int rib, TPZVec< REAL > &in, REAL &out)
Projects a point from the interior of the element to a rib.
Defines the topology of a triangle element. Topology Sides 0 to 2 are vertices, sides 3 to 5 are line...
Definition: tpztriangle.h:35
static REAL gTrans2dT[6][2][2]
Data structure which defines the triangle transformations.
groups all classes dedicated to the computation of shape functions
Definition: pzshapeextend.h:16
static void ShapeCorner(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the corner shape functions for a triangular element.
static int NShapeF(TPZVec< int > &order)
Total number of shapefunctions, considering the order of interpolation of the element.
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 ...
static REAL gVet2dT[6][2]
Data structure which defines the triangle transformations.
Contains the TPZTriangle class which defines the topology of a triangle.
static void ShapeGenerating(TPZVec< REAL > &pt, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Computes the generating shape functions for a quadrilateral element.
static void TransformDerivativeFromRibToTriang(int rib, int num, TPZFMatrix< REAL > &dphi)
Transforms the derivative of a shapefunction computed on the rib into the two dimensional derivative ...
static REAL gRibTrans2dT1d[3][2]
Data structure which defines the triangle transformations.
static void TransformPoint2dT(int transid, TPZVec< REAL > &in, TPZVec< REAL > &out)
Transform the coordinates of the point in the space of the triangle master element based on the trans...
Implements the shape functions of a triangular (2D) element. Shape.
Definition: pzshapetriang.h:23
Implements generic class which holds a matrix of objects. Matrix.
Definition: pzshtmat.h:18
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 TPZTransform< REAL > ParametricTransform(int trans_id)
static int GetTransformId2dT(TPZVec< int64_t > &id)
Method which identifies the triangular transformation based on the IDs of the corner nodes...
static int NConnectShapeF(int side, int order)
Number of shapefunctions of the connect associated with the side, considering the order of interpolat...
static REAL gVet1dT[3]
Data structure which defines the triangle transformations.
static void ShapeInternal(TPZVec< REAL > &x, int order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi, int triangle_transformation_index)
Compute the internal functions of the triangle shape function at a point.
static void TransformDerivative2dT(int transid, int num, TPZFMatrix< REAL > &in)
Transform the derivatives of num shapefunctions in place for a triangle.
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 triangular element...
static void SideShape(int side, TPZVec< REAL > &pt, TPZVec< int64_t > &id, TPZVec< int > &order, TPZFMatrix< REAL > &phi, TPZFMatrix< REAL > &dphi)
Contains TPZGenMatrix class which implements generic class which holds a matrix of objects...
Implements an affine transformation between points in parameter space. Topology Utility.
Definition: pzmganalysis.h:14