2 static double NF_S_Q_Q2_2D_Xi[] =
3 { -0.77459666924148337703585307995647992, 0,
4 0.77459666924148337703585307995647992,
8 0.77459666924148337703585307995647992, 0,
9 -0.77459666924148337703585307995647992,
13 -0.77459666924148337703585307995647992, 0,
14 0.77459666924148337703585307995647992,
16 -0.77459666924148337703585307995647992, 0,
17 0.77459666924148337703585307995647992,
19 -0.77459666924148337703585307995647992, 0,
20 0.77459666924148337703585307995647992,
25 static double NF_S_Q_Q2_2D_Eta[] =
28 -0.77459666924148337703585307995647992, 0,
29 0.77459666924148337703585307995647992,
33 0.77459666924148337703585307995647992, 0,
34 -0.77459666924148337703585307995647992,
36 -0.77459666924148337703585307995647992,
37 -0.77459666924148337703585307995647992,
38 -0.77459666924148337703585307995647992,
42 0.77459666924148337703585307995647992,
43 0.77459666924148337703585307995647992,
44 0.77459666924148337703585307995647992,
50 static double NF_S_Q_Q2_2D_T[] =
51 { -1, -0.77459666924148337703585307995647992, 0,
52 0.77459666924148337703585307995647992, 1 };
54 void NF_S_Q_Q2_2D_EvalAll(
TCollection *Coll,
TBaseCell *Cell,
double *PointValues,
double *Functionals)
56 double f0,f1,f2,f3,f4,f5,f6,f7,f8;
57 static double weights[3] = { 0.5555555555555555555555555555555556,
58 0.88888888888888888888888888888888889,
59 0.5555555555555555555555555555555556 };
67 f4 = ( weights[0]*PointValues[0]
68 +weights[1]*PointValues[1]
69 +weights[2]*PointValues[2]) * 0.5;
70 f5 = ( weights[0]*PointValues[3]
71 +weights[1]*PointValues[4]
72 +weights[2]*PointValues[5]) * 0.5;
73 f6 = ( weights[0]*PointValues[6]
74 +weights[1]*PointValues[7]
75 +weights[2]*PointValues[8]) * 0.5;
76 f7 = ( weights[0]*PointValues[9]
77 +weights[1]*PointValues[10]
78 +weights[2]*PointValues[11]) * 0.5;
81 f8 = ( weights[0]*weights[0]*PointValues[12]
82 +weights[1]*weights[0]*PointValues[13]
83 +weights[2]*weights[0]*PointValues[14]
84 +weights[0]*weights[1]*PointValues[15]
85 +weights[1]*weights[1]*PointValues[16]
86 +weights[2]*weights[1]*PointValues[17]
87 +weights[0]*weights[2]*PointValues[18]
88 +weights[1]*weights[2]*PointValues[19]
89 +weights[2]*weights[2]*PointValues[20])*0.25;
96 Functionals[1]=-0.25*(f0+f1)+1.5*f4;
97 Functionals[5]=-0.25*(f1+f2)+1.5*f5;
98 Functionals[7]=-0.25*(f2+f3)+1.5*f6;
99 Functionals[3]=-0.25*(f0+f3)+1.5*f7;
100 Functionals[4]=0.0625*(f0+f1+f2+f3)-0.375*(f4+f5+f6+f7)
130 void NF_S_Q_Q2_2D_EvalEdge(
TCollection *Coll,
TBaseCell *Cell,
int Joint,
double *PointValues,
double *Functionals)
132 static double weights[3] = { 0.5555555555555555555555555555555556,
133 0.88888888888888888888888888888888889,
134 0.5555555555555555555555555555555556 };
137 s =( weights[0]*PointValues[1]
138 +weights[1]*PointValues[2]
139 +weights[2]*PointValues[3])*0.5;
141 Functionals[0] = PointValues[0];
142 Functionals[1] = -0.25*(PointValues[0]+PointValues[4])
144 Functionals[2] = PointValues[4];
157 (NF_S_Q_Q2_2D, 9, 3, 25, 5, NF_S_Q_Q2_2D_Xi, NF_S_Q_Q2_2D_Eta,
158 NF_S_Q_Q2_2D_T, NF_S_Q_Q2_2D_EvalAll, NF_S_Q_Q2_2D_EvalEdge);
store cells in an array, used by cell iterators
Definition: Collection.h:18
Definition: NodalFunctional2D.h:20
information for finite element data structure
Definition: BaseCell.h:25