6 static double BDDF1T_tp = 0.166666666666667;
8 static double NF_N_T_BDDF1_3D_Xi[] = {
9 BDDF1T_tp, 0.5+BDDF1T_tp, BDDF1T_tp,
10 BDDF1T_tp, BDDF1T_tp, 0.5+BDDF1T_tp,
11 BDDF1T_tp, 1-2*BDDF1T_tp, BDDF1T_tp,
14 static double NF_N_T_BDDF1_3D_Eta[] = {
15 BDDF1T_tp, BDDF1T_tp, 0.5+BDDF1T_tp,
17 1-2*BDDF1T_tp, BDDF1T_tp, BDDF1T_tp,
18 BDDF1T_tp, 0.5+BDDF1T_tp, BDDF1T_tp
20 static double NF_N_T_BDDF1_3D_Zeta[]= {
22 BDDF1T_tp, 0.5+BDDF1T_tp, BDDF1T_tp,
23 BDDF1T_tp, BDDF1T_tp, 1-2*BDDF1T_tp,
24 BDDF1T_tp, BDDF1T_tp, 0.5+BDDF1T_tp
28 static double NF_N_T_BDDF1_3D_F0_Xi[] = { BDDF1T_tp, 0.5+BDDF1T_tp, BDDF1T_tp };
29 static double NF_N_T_BDDF1_3D_F0_Eta[] = { BDDF1T_tp, BDDF1T_tp, 0.5+BDDF1T_tp };
30 static double NF_N_T_BDDF1_3D_F0_Zeta[] = { 0,0,0 };
33 static double NF_N_T_BDDF1_3D_F1_Xi[] = { BDDF1T_tp, BDDF1T_tp, 0.5+BDDF1T_tp };
34 static double NF_N_T_BDDF1_3D_F1_Eta[] = { 0,0,0 };
35 static double NF_N_T_BDDF1_3D_F1_Zeta[] = { BDDF1T_tp, 0.5+BDDF1T_tp, BDDF1T_tp };
38 static double NF_N_T_BDDF1_3D_F2_Xi[] = { BDDF1T_tp, 1-2*BDDF1T_tp, BDDF1T_tp };
39 static double NF_N_T_BDDF1_3D_F2_Eta[] = { 1-2*BDDF1T_tp, BDDF1T_tp, BDDF1T_tp };
40 static double NF_N_T_BDDF1_3D_F2_Zeta[] = { BDDF1T_tp, BDDF1T_tp, 1-2*BDDF1T_tp };
44 static double NF_N_T_BDDF1_3D_F3_Xi[] = { 0,0,0 };
45 static double NF_N_T_BDDF1_3D_F3_Eta[] = { BDDF1T_tp, 0.5+BDDF1T_tp, BDDF1T_tp };
46 static double NF_N_T_BDDF1_3D_F3_Zeta[] = { BDDF1T_tp, BDDF1T_tp, 0.5+BDDF1T_tp };
48 static double *NF_N_T_BDDF1_3D_XiArray[4] = {
49 NF_N_T_BDDF1_3D_F0_Xi,
50 NF_N_T_BDDF1_3D_F1_Xi,
51 NF_N_T_BDDF1_3D_F2_Xi,
52 NF_N_T_BDDF1_3D_F3_Xi };
54 static double *NF_N_T_BDDF1_3D_EtaArray[4] = {
55 NF_N_T_BDDF1_3D_F0_Eta,
56 NF_N_T_BDDF1_3D_F1_Eta,
57 NF_N_T_BDDF1_3D_F2_Eta,
58 NF_N_T_BDDF1_3D_F3_Eta };
60 static double *NF_N_T_BDDF1_3D_ZetaArray[4] = {
61 NF_N_T_BDDF1_3D_F0_Zeta,
62 NF_N_T_BDDF1_3D_F1_Zeta,
63 NF_N_T_BDDF1_3D_F2_Zeta,
64 NF_N_T_BDDF1_3D_F3_Zeta };
66 static double NF_N_T_BDDF1_3D_T[] = {-100};
67 static double NF_N_T_BDDF1_3D_S[] = {-100};
70 double *PointValues,
double *Functionals)
73 Functionals[0] = -PointValues[24];
74 Functionals[1] = -PointValues[25];
75 Functionals[2] = -PointValues[26];
77 Functionals[3] = -PointValues[15];
78 Functionals[4] = -PointValues[16];
79 Functionals[5] = -PointValues[17];
81 Functionals[6] = PointValues[6]+PointValues[18]+PointValues[30];
82 Functionals[7] = PointValues[7]+PointValues[19]+PointValues[31];
83 Functionals[8] = PointValues[8]+PointValues[20]+PointValues[32];
85 Functionals[9] = -PointValues[9];
86 Functionals[10] = -PointValues[10];
87 Functionals[11] = -PointValues[11];
91 double *PointValues,
double *Functionals)
94 double x0,x1,x2,y0,y1,y2,z0,z1,z2;
97 const int *faceVertex, *length;
106 s = sqrt( POW((y1-y0)*(z2-z0) - (z1-z0)*(y2-y0),2)
107 + POW((z1-z0)*(x2-x0) - (x1-x0)*(z2-z0),2)
108 + POW((x1-x0)*(y2-y0) - (x2-x0)*(y1-y0),2) );
109 Functionals[0] = PointValues[0]*s;
110 Functionals[1] = PointValues[1]*s;
111 Functionals[2] = PointValues[2]*s;
114 static int NF_N_T_BDDF1_3D_N_AllFunctionals = 12;
115 static int NF_N_T_BDDF1_3D_N_PointsAll = 12;
116 static int NF_N_T_BDDF1_3D_N_FaceFunctionals[] = { 3, 3, 3, 3 };
117 static int NF_N_T_BDDF1_3D_N_PointsFace[] = { 3, 3, 3, 3 };
120 (NF_N_T_BDDF1_3D, NF_N_T_BDDF1_3D_N_AllFunctionals,
121 NF_N_T_BDDF1_3D_N_FaceFunctionals, NF_N_T_BDDF1_3D_N_PointsAll,
122 NF_N_T_BDDF1_3D_N_PointsFace,
123 NF_N_T_BDDF1_3D_Xi, NF_N_T_BDDF1_3D_Eta, NF_N_T_BDDF1_3D_Zeta,
124 NF_N_T_BDDF1_3D_XiArray, NF_N_T_BDDF1_3D_EtaArray,
125 NF_N_T_BDDF1_3D_ZetaArray,
126 NF_N_T_BDDF1_3D_T, NF_N_T_BDDF1_3D_S,
127 NF_N_T_BDDF1_3D_EvalAll, NF_N_T_BDDF1_3D_EvalFace);
int GetFaceVertex(const int *&TmpFV, const int *&TmpLen, int &MaxLen)
Definition: ShapeDesc.h:124
TShapeDesc * GetShapeDesc() const
return shape descriptor of refinement descriptor
Definition: BaseCell.h:134
Definition: NodalFunctional3D.h:21
store cells in an array, used by cell iterators
Definition: Collection.h:18
virtual TVertex * GetVertex(int Vert_i)=0
return the pointer to vertex with number i
void GetCoords(double &x, double &y, double &z) const
Definition: Vertex.h:106
information for finite element data structure
Definition: BaseCell.h:25