xref: /phasta/shapeFunction/src/shapeFuncInternals.h (revision 8f9016f65798c31e86c962e830cf2dc88ecffd68)
1 #ifndef _H_shapeFuncInternals
2 #define _H_shapeFuncInternals
3 
4 #ifndef _ELEM_TOP_TYPE
5 #define _ELEM_TOP_TYPE
6 
7 #define Svertex 0
8 #define Sedge   1
9 #define Stri    2
10 #define Squad   3
11 #define Stet    4
12 #define Shex    5
13 #define Swedge  6
14 #define Spyr    7
15 #endif /*_ELEM_TOP_TYPE*/
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 int F_parDrv(int i, int j, int k, int type, int (**drv)[2]);
22 int E_parDrv(int i, int j, int type, double drv[][2]);
23 
24 double V_blendOnEntity(int vid, int etype, double *L);
25 double V_blendIndexed(int i, double *L);
26 double V_blendIndexedOnEdge(int i, double *L);
27 double E_blendOnFace(int eindex[], int etype, double *L);
28 double F_edgeBlendTri(int index[2], double *L);
29 double F_edgeBlendQuad(int *index, double *L);
30 double E_blendOnRegion(int eindex[], int etype, double *L);
31 double R_edgeBlendTet(int index[2], double *L);
32 double F_blendOnRegion(int index[], int etype, double *L);
33 
34 int V_blendOnEntityDrv(int index, int etype, double *L, double mdrv[3]);
35 int E_blendOnFaceDrv(int index[], int etype, double *L, double bdrv[2]);
36 int F_edgeBlendTriDrv(int index[2], double *L, double drv[]);
37 int E_blendOnRegionDrv(int index[], int etype, double *L, double bdrv[3]);
38 int F_blendOnRegionDrv(int index[], int etype, double *L, double drv[3]);
39 int R_edgeBlendTetDrv(int *index, double *L, double drv[]);
40 double E_blendOnRegion(int eindex[], int etype, double *L);
41 int R_faceBlendTetDrv(int *index, double *L, double drv[]);
42 int F_modeShapeTriDrv(int p, int i, double *L, double mdrv[2]);
43 int R_modeShapeTetDrv(int p, int i, double *L, double mdrv[3]);
44 int E_modeShapeDrv(int p, double *L, double drv[2]);
45 
46 double E_modeShape(int p, double *L);
47 double F_modeShapeTri(int p, int i, double *L);
48 double F_modeShapeQuad(int p, int i, double *L);
49 double F_modeShapeQuad(int p, int i, double *L);
50 double R_modeShapeTet(int p, int i, double *L);
51 double R_modeShapeHex(int p, int i, double *L);
52 
53 
54 /* these are low level entity functions */
55 double En(int ip, double r, double s);
56 int EnDrv(int ip, double r, double s, double *drv);
57 double Fn(int i, int j, double r, double s);
58 int FnDrv(int i,int j, double r, double s, double drv[2]);
59 double Bn(int i, int j, int k, double r, double s, double t);
60 int BnDrv(int i,int j, int k, double r, double s, double t, double drv[3]);
61 
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif
67 
68