ParMooN
 All Classes Functions Variables Friends Pages
BF_C_Q_Q8_2D.h
1 
2 // ***********************************************************************
3 // Q8 element, conforming, 2D
4 // ***********************************************************************
5 
6 // base function values
7 static void C_Q_Q8_2D_Funct(double xi, double eta, double *values)
8 {
9 
10  double xi0= 0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi*xi-0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi*xi+0.1422222222222222E1*xi*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi*xi-0.3111111111111111*xi*xi*xi-0.1428571428571429E-1*xi*xi+0.1428571428571429E-1*xi;
11  double xi1= -0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi*xi+0.9752380952380952E1*xi*xi*xi*xi*xi*xi*xi+0.1706666666666667E2*xi*xi*xi*xi*xi*xi-0.128E2*xi*xi*xi*xi*xi-0.4266666666666667E1*xi*xi*xi*xi+0.32E1*xi*xi*xi+0.2031746031746032*xi*xi-0.1523809523809524*xi;
12  double xi2= 0.4551111111111111E2*xi*xi*xi*xi*xi*xi*xi*xi-0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi-0.7395555555555556E2*xi*xi*xi*xi*xi*xi+0.3697777777777778E2*xi*xi*xi*xi*xi+0.3004444444444444E2*xi*xi*xi*xi-0.1502222222222222E2*xi*xi*xi-0.16E1*xi*xi+0.8*xi;
13  double xi3= -0.9102222222222222E2*xi*xi*xi*xi*xi*xi*xi*xi+0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi+0.1649777777777778E3*xi*xi*xi*xi*xi*xi-0.4124444444444444E2*xi*xi*xi*xi*xi-0.8675555555555556E2*xi*xi*xi*xi+0.2168888888888889E2*xi*xi*xi+0.128E2*xi*xi-0.32E1*xi;
14  double xi4= 0.1137777777777778E3*xi*xi*xi*xi*xi*xi*xi*xi-0.2133333333333333E3*xi*xi*xi*xi*xi*xi+0.1213333333333333E3*xi*xi*xi*xi-0.2277777777777778E2*xi*xi+1.0;
15  double xi5= -0.9102222222222222E2*xi*xi*xi*xi*xi*xi*xi*xi-0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi+0.1649777777777778E3*xi*xi*xi*xi*xi*xi+0.4124444444444444E2*xi*xi*xi*xi*xi-0.8675555555555556E2*xi*xi*xi*xi-0.2168888888888889E2*xi*xi*xi+0.128E2*xi*xi+0.32E1*xi;
16  double xi6= 0.4551111111111111E2*xi*xi*xi*xi*xi*xi*xi*xi+0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi-0.7395555555555556E2*xi*xi*xi*xi*xi*xi-0.3697777777777778E2*xi*xi*xi*xi*xi+0.3004444444444444E2*xi*xi*xi*xi+0.1502222222222222E2*xi*xi*xi-0.16E1*xi*xi-0.8*xi;
17  double xi7= -0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi*xi-0.9752380952380952E1*xi*xi*xi*xi*xi*xi*xi+0.1706666666666667E2*xi*xi*xi*xi*xi*xi+0.128E2*xi*xi*xi*xi*xi-0.4266666666666667E1*xi*xi*xi*xi-0.32E1*xi*xi*xi+0.2031746031746032*xi*xi+0.1523809523809524*xi;
18  double xi8= 0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi*xi+0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi-0.1428571428571429E-1*xi*xi-0.1428571428571429E-1*xi;
19 
20  double eta0= 0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta*eta-0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta*eta+0.1422222222222222E1*eta*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta*eta-0.3111111111111111*eta*eta*eta-0.1428571428571429E-1*eta*eta+0.1428571428571429E-1*eta;
21  double eta1= -0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta*eta+0.9752380952380952E1*eta*eta*eta*eta*eta*eta*eta+0.1706666666666667E2*eta*eta*eta*eta*eta*eta-0.128E2*eta*eta*eta*eta*eta-0.4266666666666667E1*eta*eta*eta*eta+0.32E1*eta*eta*eta+0.2031746031746032*eta*eta-0.1523809523809524*eta;
22  double eta2= 0.4551111111111111E2*eta*eta*eta*eta*eta*eta*eta*eta-0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta-0.7395555555555556E2*eta*eta*eta*eta*eta*eta+0.3697777777777778E2*eta*eta*eta*eta*eta+0.3004444444444444E2*eta*eta*eta*eta-0.1502222222222222E2*eta*eta*eta-0.16E1*eta*eta+0.8*eta;
23  double eta3= -0.9102222222222222E2*eta*eta*eta*eta*eta*eta*eta*eta+0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta+0.1649777777777778E3*eta*eta*eta*eta*eta*eta-0.4124444444444444E2*eta*eta*eta*eta*eta-0.8675555555555556E2*eta*eta*eta*eta+0.2168888888888889E2*eta*eta*eta+0.128E2*eta*eta-0.32E1*eta;
24  double eta4= 0.1137777777777778E3*eta*eta*eta*eta*eta*eta*eta*eta-0.2133333333333333E3*eta*eta*eta*eta*eta*eta+0.1213333333333333E3*eta*eta*eta*eta-0.2277777777777778E2*eta*eta+1.0;
25  double eta5= -0.9102222222222222E2*eta*eta*eta*eta*eta*eta*eta*eta-0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta+0.1649777777777778E3*eta*eta*eta*eta*eta*eta+0.4124444444444444E2*eta*eta*eta*eta*eta-0.8675555555555556E2*eta*eta*eta*eta-0.2168888888888889E2*eta*eta*eta+0.128E2*eta*eta+0.32E1*eta;
26  double eta6= 0.4551111111111111E2*eta*eta*eta*eta*eta*eta*eta*eta+0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta-0.7395555555555556E2*eta*eta*eta*eta*eta*eta-0.3697777777777778E2*eta*eta*eta*eta*eta+0.3004444444444444E2*eta*eta*eta*eta+0.1502222222222222E2*eta*eta*eta-0.16E1*eta*eta-0.8*eta;
27  double eta7= -0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta*eta-0.9752380952380952E1*eta*eta*eta*eta*eta*eta*eta+0.1706666666666667E2*eta*eta*eta*eta*eta*eta+0.128E2*eta*eta*eta*eta*eta-0.4266666666666667E1*eta*eta*eta*eta-0.32E1*eta*eta*eta+0.2031746031746032*eta*eta+0.1523809523809524*eta;
28  double eta8= 0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta*eta+0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta-0.1428571428571429E-1*eta*eta-0.1428571428571429E-1*eta;
29 
30 
31  values[0] = xi0*eta0;
32  values[1] = xi1*eta0;
33  values[2] = xi2*eta0;
34  values[3] = xi3*eta0;
35  values[4] = xi4*eta0;
36  values[5] = xi5*eta0;
37  values[6] = xi6*eta0;
38  values[7] = xi7*eta0;
39  values[8] = xi8*eta0;
40  values[9] = xi0*eta1;
41  values[10] = xi1*eta1;
42  values[11] = xi2*eta1;
43  values[12] = xi3*eta1;
44  values[13] = xi4*eta1;
45  values[14] = xi5*eta1;
46  values[15] = xi6*eta1;
47  values[16] = xi7*eta1;
48  values[17] = xi8*eta1;
49  values[18] = xi0*eta2;
50  values[19] = xi1*eta2;
51  values[20] = xi2*eta2;
52  values[21] = xi3*eta2;
53  values[22] = xi4*eta2;
54  values[23] = xi5*eta2;
55  values[24] = xi6*eta2;
56  values[25] = xi7*eta2;
57  values[26] = xi8*eta2;
58  values[27] = xi0*eta3;
59  values[28] = xi1*eta3;
60  values[29] = xi2*eta3;
61  values[30] = xi3*eta3;
62  values[31] = xi4*eta3;
63  values[32] = xi5*eta3;
64  values[33] = xi6*eta3;
65  values[34] = xi7*eta3;
66  values[35] = xi8*eta3;
67  values[36] = xi0*eta4;
68  values[37] = xi1*eta4;
69  values[38] = xi2*eta4;
70  values[39] = xi3*eta4;
71  values[40] = xi4*eta4;
72  values[41] = xi5*eta4;
73  values[42] = xi6*eta4;
74  values[43] = xi7*eta4;
75  values[44] = xi8*eta4;
76  values[45] = xi0*eta5;
77  values[46] = xi1*eta5;
78  values[47] = xi2*eta5;
79  values[48] = xi3*eta5;
80  values[49] = xi4*eta5;
81  values[50] = xi5*eta5;
82  values[51] = xi6*eta5;
83  values[52] = xi7*eta5;
84  values[53] = xi8*eta5;
85  values[54] = xi0*eta6;
86  values[55] = xi1*eta6;
87  values[56] = xi2*eta6;
88  values[57] = xi3*eta6;
89  values[58] = xi4*eta6;
90  values[59] = xi5*eta6;
91  values[60] = xi6*eta6;
92  values[61] = xi7*eta6;
93  values[62] = xi8*eta6;
94  values[63] = xi0*eta7;
95  values[64] = xi1*eta7;
96  values[65] = xi2*eta7;
97  values[66] = xi3*eta7;
98  values[67] = xi4*eta7;
99  values[68] = xi5*eta7;
100  values[69] = xi6*eta7;
101  values[70] = xi7*eta7;
102  values[71] = xi8*eta7;
103  values[72] = xi0*eta8;
104  values[73] = xi1*eta8;
105  values[74] = xi2*eta8;
106  values[75] = xi3*eta8;
107  values[76] = xi4*eta8;
108  values[77] = xi5*eta8;
109  values[78] = xi6*eta8;
110  values[79] = xi7*eta8;
111  values[80] = xi8*eta8;
112 }
113 
114 
115 // values of the derivatives in xi direction
116 static void C_Q_Q8_2D_DeriveXi(double xi, double eta, double *values)
117 {
118 
119  double xi0= 0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi-0.1137777777777778E2*xi*xi*xi*xi*xi*xi-0.8533333333333333E1*xi*xi*xi*xi*xi+0.7111111111111111E1*xi*xi*xi*xi+0.1244444444444444E1*xi*xi*xi-0.9333333333333333*xi*xi-0.2857142857142857E-1*xi+0.1428571428571429E-1;
120  double xi1= -0.1040253968253968E3*xi*xi*xi*xi*xi*xi*xi+0.6826666666666667E2*xi*xi*xi*xi*xi*xi+0.1024E3*xi*xi*xi*xi*xi-0.64E2*xi*xi*xi*xi-0.1706666666666667E2*xi*xi*xi+0.96E1*xi*xi+0.4063492063492063*xi-0.1523809523809524;
121  double xi2= 0.3640888888888889E3*xi*xi*xi*xi*xi*xi*xi-0.1592888888888889E3*xi*xi*xi*xi*xi*xi-0.4437333333333333E3*xi*xi*xi*xi*xi+0.1848888888888889E3*xi*xi*xi*xi+0.1201777777777778E3*xi*xi*xi-0.4506666666666667E2*xi*xi-0.32E1*xi+0.8;
122  double xi3= -0.7281777777777778E3*xi*xi*xi*xi*xi*xi*xi+0.1592888888888889E3*xi*xi*xi*xi*xi*xi+0.9898666666666667E3*xi*xi*xi*xi*xi-0.2062222222222222E3*xi*xi*xi*xi-0.3470222222222222E3*xi*xi*xi+0.6506666666666667E2*xi*xi+0.256E2*xi-0.32E1;
123  double xi4= 0.9102222222222222E3*xi*xi*xi*xi*xi*xi*xi-0.128E4*xi*xi*xi*xi*xi+0.4853333333333333E3*xi*xi*xi-0.4555555555555556E2*xi;
124  double xi5= -0.7281777777777778E3*xi*xi*xi*xi*xi*xi*xi-0.1592888888888889E3*xi*xi*xi*xi*xi*xi+0.9898666666666667E3*xi*xi*xi*xi*xi+0.2062222222222222E3*xi*xi*xi*xi-0.3470222222222222E3*xi*xi*xi-0.6506666666666667E2*xi*xi+0.256E2*xi+0.32E1;
125  double xi6= 0.3640888888888889E3*xi*xi*xi*xi*xi*xi*xi+0.1592888888888889E3*xi*xi*xi*xi*xi*xi-0.4437333333333333E3*xi*xi*xi*xi*xi-0.1848888888888889E3*xi*xi*xi*xi+0.1201777777777778E3*xi*xi*xi+0.4506666666666667E2*xi*xi-0.32E1*xi-0.8;
126  double xi7= -0.1040253968253968E3*xi*xi*xi*xi*xi*xi*xi-0.6826666666666667E2*xi*xi*xi*xi*xi*xi+0.1024E3*xi*xi*xi*xi*xi+0.64E2*xi*xi*xi*xi-0.1706666666666667E2*xi*xi*xi-0.96E1*xi*xi+0.4063492063492063*xi+0.1523809523809524;
127  double xi8= 0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi+0.1137777777777778E2*xi*xi*xi*xi*xi*xi-0.8533333333333333E1*xi*xi*xi*xi*xi-0.7111111111111111E1*xi*xi*xi*xi+0.1244444444444444E1*xi*xi*xi+0.9333333333333333*xi*xi-0.2857142857142857E-1*xi-0.1428571428571429E-1;
128 
129  double eta0= 0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta*eta-0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta*eta+0.1422222222222222E1*eta*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta*eta-0.3111111111111111*eta*eta*eta-0.1428571428571429E-1*eta*eta+0.1428571428571429E-1*eta;
130  double eta1= -0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta*eta+0.9752380952380952E1*eta*eta*eta*eta*eta*eta*eta+0.1706666666666667E2*eta*eta*eta*eta*eta*eta-0.128E2*eta*eta*eta*eta*eta-0.4266666666666667E1*eta*eta*eta*eta+0.32E1*eta*eta*eta+0.2031746031746032*eta*eta-0.1523809523809524*eta;
131  double eta2= 0.4551111111111111E2*eta*eta*eta*eta*eta*eta*eta*eta-0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta-0.7395555555555556E2*eta*eta*eta*eta*eta*eta+0.3697777777777778E2*eta*eta*eta*eta*eta+0.3004444444444444E2*eta*eta*eta*eta-0.1502222222222222E2*eta*eta*eta-0.16E1*eta*eta+0.8*eta;
132  double eta3= -0.9102222222222222E2*eta*eta*eta*eta*eta*eta*eta*eta+0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta+0.1649777777777778E3*eta*eta*eta*eta*eta*eta-0.4124444444444444E2*eta*eta*eta*eta*eta-0.8675555555555556E2*eta*eta*eta*eta+0.2168888888888889E2*eta*eta*eta+0.128E2*eta*eta-0.32E1*eta;
133  double eta4= 0.1137777777777778E3*eta*eta*eta*eta*eta*eta*eta*eta-0.2133333333333333E3*eta*eta*eta*eta*eta*eta+0.1213333333333333E3*eta*eta*eta*eta-0.2277777777777778E2*eta*eta+1.0;
134  double eta5= -0.9102222222222222E2*eta*eta*eta*eta*eta*eta*eta*eta-0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta+0.1649777777777778E3*eta*eta*eta*eta*eta*eta+0.4124444444444444E2*eta*eta*eta*eta*eta-0.8675555555555556E2*eta*eta*eta*eta-0.2168888888888889E2*eta*eta*eta+0.128E2*eta*eta+0.32E1*eta;
135  double eta6= 0.4551111111111111E2*eta*eta*eta*eta*eta*eta*eta*eta+0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta-0.7395555555555556E2*eta*eta*eta*eta*eta*eta-0.3697777777777778E2*eta*eta*eta*eta*eta+0.3004444444444444E2*eta*eta*eta*eta+0.1502222222222222E2*eta*eta*eta-0.16E1*eta*eta-0.8*eta;
136  double eta7= -0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta*eta-0.9752380952380952E1*eta*eta*eta*eta*eta*eta*eta+0.1706666666666667E2*eta*eta*eta*eta*eta*eta+0.128E2*eta*eta*eta*eta*eta-0.4266666666666667E1*eta*eta*eta*eta-0.32E1*eta*eta*eta+0.2031746031746032*eta*eta+0.1523809523809524*eta;
137  double eta8= 0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta*eta+0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta-0.1428571428571429E-1*eta*eta-0.1428571428571429E-1*eta;
138 
139 
140  values[0] = xi0*eta0;
141  values[1] = xi1*eta0;
142  values[2] = xi2*eta0;
143  values[3] = xi3*eta0;
144  values[4] = xi4*eta0;
145  values[5] = xi5*eta0;
146  values[6] = xi6*eta0;
147  values[7] = xi7*eta0;
148  values[8] = xi8*eta0;
149  values[9] = xi0*eta1;
150  values[10] = xi1*eta1;
151  values[11] = xi2*eta1;
152  values[12] = xi3*eta1;
153  values[13] = xi4*eta1;
154  values[14] = xi5*eta1;
155  values[15] = xi6*eta1;
156  values[16] = xi7*eta1;
157  values[17] = xi8*eta1;
158  values[18] = xi0*eta2;
159  values[19] = xi1*eta2;
160  values[20] = xi2*eta2;
161  values[21] = xi3*eta2;
162  values[22] = xi4*eta2;
163  values[23] = xi5*eta2;
164  values[24] = xi6*eta2;
165  values[25] = xi7*eta2;
166  values[26] = xi8*eta2;
167  values[27] = xi0*eta3;
168  values[28] = xi1*eta3;
169  values[29] = xi2*eta3;
170  values[30] = xi3*eta3;
171  values[31] = xi4*eta3;
172  values[32] = xi5*eta3;
173  values[33] = xi6*eta3;
174  values[34] = xi7*eta3;
175  values[35] = xi8*eta3;
176  values[36] = xi0*eta4;
177  values[37] = xi1*eta4;
178  values[38] = xi2*eta4;
179  values[39] = xi3*eta4;
180  values[40] = xi4*eta4;
181  values[41] = xi5*eta4;
182  values[42] = xi6*eta4;
183  values[43] = xi7*eta4;
184  values[44] = xi8*eta4;
185  values[45] = xi0*eta5;
186  values[46] = xi1*eta5;
187  values[47] = xi2*eta5;
188  values[48] = xi3*eta5;
189  values[49] = xi4*eta5;
190  values[50] = xi5*eta5;
191  values[51] = xi6*eta5;
192  values[52] = xi7*eta5;
193  values[53] = xi8*eta5;
194  values[54] = xi0*eta6;
195  values[55] = xi1*eta6;
196  values[56] = xi2*eta6;
197  values[57] = xi3*eta6;
198  values[58] = xi4*eta6;
199  values[59] = xi5*eta6;
200  values[60] = xi6*eta6;
201  values[61] = xi7*eta6;
202  values[62] = xi8*eta6;
203  values[63] = xi0*eta7;
204  values[64] = xi1*eta7;
205  values[65] = xi2*eta7;
206  values[66] = xi3*eta7;
207  values[67] = xi4*eta7;
208  values[68] = xi5*eta7;
209  values[69] = xi6*eta7;
210  values[70] = xi7*eta7;
211  values[71] = xi8*eta7;
212  values[72] = xi0*eta8;
213  values[73] = xi1*eta8;
214  values[74] = xi2*eta8;
215  values[75] = xi3*eta8;
216  values[76] = xi4*eta8;
217  values[77] = xi5*eta8;
218  values[78] = xi6*eta8;
219  values[79] = xi7*eta8;
220  values[80] = xi8*eta8;
221 }
222 
223 // values of the derivatives in eta direction
224 static void C_Q_Q8_2D_DeriveEta(double xi, double eta, double *values)
225 {
226 
227  double xi0= 0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi*xi-0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi*xi+0.1422222222222222E1*xi*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi*xi-0.3111111111111111*xi*xi*xi-0.1428571428571429E-1*xi*xi+0.1428571428571429E-1*xi;
228  double xi1= -0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi*xi+0.9752380952380952E1*xi*xi*xi*xi*xi*xi*xi+0.1706666666666667E2*xi*xi*xi*xi*xi*xi-0.128E2*xi*xi*xi*xi*xi-0.4266666666666667E1*xi*xi*xi*xi+0.32E1*xi*xi*xi+0.2031746031746032*xi*xi-0.1523809523809524*xi;
229  double xi2= 0.4551111111111111E2*xi*xi*xi*xi*xi*xi*xi*xi-0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi-0.7395555555555556E2*xi*xi*xi*xi*xi*xi+0.3697777777777778E2*xi*xi*xi*xi*xi+0.3004444444444444E2*xi*xi*xi*xi-0.1502222222222222E2*xi*xi*xi-0.16E1*xi*xi+0.8*xi;
230  double xi3= -0.9102222222222222E2*xi*xi*xi*xi*xi*xi*xi*xi+0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi+0.1649777777777778E3*xi*xi*xi*xi*xi*xi-0.4124444444444444E2*xi*xi*xi*xi*xi-0.8675555555555556E2*xi*xi*xi*xi+0.2168888888888889E2*xi*xi*xi+0.128E2*xi*xi-0.32E1*xi;
231  double xi4= 0.1137777777777778E3*xi*xi*xi*xi*xi*xi*xi*xi-0.2133333333333333E3*xi*xi*xi*xi*xi*xi+0.1213333333333333E3*xi*xi*xi*xi-0.2277777777777778E2*xi*xi+1.0;
232  double xi5= -0.9102222222222222E2*xi*xi*xi*xi*xi*xi*xi*xi-0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi+0.1649777777777778E3*xi*xi*xi*xi*xi*xi+0.4124444444444444E2*xi*xi*xi*xi*xi-0.8675555555555556E2*xi*xi*xi*xi-0.2168888888888889E2*xi*xi*xi+0.128E2*xi*xi+0.32E1*xi;
233  double xi6= 0.4551111111111111E2*xi*xi*xi*xi*xi*xi*xi*xi+0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi-0.7395555555555556E2*xi*xi*xi*xi*xi*xi-0.3697777777777778E2*xi*xi*xi*xi*xi+0.3004444444444444E2*xi*xi*xi*xi+0.1502222222222222E2*xi*xi*xi-0.16E1*xi*xi-0.8*xi;
234  double xi7= -0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi*xi-0.9752380952380952E1*xi*xi*xi*xi*xi*xi*xi+0.1706666666666667E2*xi*xi*xi*xi*xi*xi+0.128E2*xi*xi*xi*xi*xi-0.4266666666666667E1*xi*xi*xi*xi-0.32E1*xi*xi*xi+0.2031746031746032*xi*xi+0.1523809523809524*xi;
235  double xi8= 0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi*xi+0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi-0.1428571428571429E-1*xi*xi-0.1428571428571429E-1*xi;
236 
237  double eta0= 0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta-0.1137777777777778E2*eta*eta*eta*eta*eta*eta-0.8533333333333333E1*eta*eta*eta*eta*eta+0.7111111111111111E1*eta*eta*eta*eta+0.1244444444444444E1*eta*eta*eta-0.9333333333333333*eta*eta-0.2857142857142857E-1*eta+0.1428571428571429E-1;
238  double eta1= -0.1040253968253968E3*eta*eta*eta*eta*eta*eta*eta+0.6826666666666667E2*eta*eta*eta*eta*eta*eta+0.1024E3*eta*eta*eta*eta*eta-0.64E2*eta*eta*eta*eta-0.1706666666666667E2*eta*eta*eta+0.96E1*eta*eta+0.4063492063492063*eta-0.1523809523809524;
239  double eta2= 0.3640888888888889E3*eta*eta*eta*eta*eta*eta*eta-0.1592888888888889E3*eta*eta*eta*eta*eta*eta-0.4437333333333333E3*eta*eta*eta*eta*eta+0.1848888888888889E3*eta*eta*eta*eta+0.1201777777777778E3*eta*eta*eta-0.4506666666666667E2*eta*eta-0.32E1*eta+0.8;
240  double eta3= -0.7281777777777778E3*eta*eta*eta*eta*eta*eta*eta+0.1592888888888889E3*eta*eta*eta*eta*eta*eta+0.9898666666666667E3*eta*eta*eta*eta*eta-0.2062222222222222E3*eta*eta*eta*eta-0.3470222222222222E3*eta*eta*eta+0.6506666666666667E2*eta*eta+0.256E2*eta-0.32E1;
241  double eta4= 0.9102222222222222E3*eta*eta*eta*eta*eta*eta*eta-0.128E4*eta*eta*eta*eta*eta+0.4853333333333333E3*eta*eta*eta-0.4555555555555556E2*eta;
242  double eta5= -0.7281777777777778E3*eta*eta*eta*eta*eta*eta*eta-0.1592888888888889E3*eta*eta*eta*eta*eta*eta+0.9898666666666667E3*eta*eta*eta*eta*eta+0.2062222222222222E3*eta*eta*eta*eta-0.3470222222222222E3*eta*eta*eta-0.6506666666666667E2*eta*eta+0.256E2*eta+0.32E1;
243  double eta6= 0.3640888888888889E3*eta*eta*eta*eta*eta*eta*eta+0.1592888888888889E3*eta*eta*eta*eta*eta*eta-0.4437333333333333E3*eta*eta*eta*eta*eta-0.1848888888888889E3*eta*eta*eta*eta+0.1201777777777778E3*eta*eta*eta+0.4506666666666667E2*eta*eta-0.32E1*eta-0.8;
244  double eta7= -0.1040253968253968E3*eta*eta*eta*eta*eta*eta*eta-0.6826666666666667E2*eta*eta*eta*eta*eta*eta+0.1024E3*eta*eta*eta*eta*eta+0.64E2*eta*eta*eta*eta-0.1706666666666667E2*eta*eta*eta-0.96E1*eta*eta+0.4063492063492063*eta+0.1523809523809524;
245  double eta8= 0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta+0.1137777777777778E2*eta*eta*eta*eta*eta*eta-0.8533333333333333E1*eta*eta*eta*eta*eta-0.7111111111111111E1*eta*eta*eta*eta+0.1244444444444444E1*eta*eta*eta+0.9333333333333333*eta*eta-0.2857142857142857E-1*eta-0.1428571428571429E-1;
246 
247 
248  values[0] = xi0*eta0;
249  values[1] = xi1*eta0;
250  values[2] = xi2*eta0;
251  values[3] = xi3*eta0;
252  values[4] = xi4*eta0;
253  values[5] = xi5*eta0;
254  values[6] = xi6*eta0;
255  values[7] = xi7*eta0;
256  values[8] = xi8*eta0;
257  values[9] = xi0*eta1;
258  values[10] = xi1*eta1;
259  values[11] = xi2*eta1;
260  values[12] = xi3*eta1;
261  values[13] = xi4*eta1;
262  values[14] = xi5*eta1;
263  values[15] = xi6*eta1;
264  values[16] = xi7*eta1;
265  values[17] = xi8*eta1;
266  values[18] = xi0*eta2;
267  values[19] = xi1*eta2;
268  values[20] = xi2*eta2;
269  values[21] = xi3*eta2;
270  values[22] = xi4*eta2;
271  values[23] = xi5*eta2;
272  values[24] = xi6*eta2;
273  values[25] = xi7*eta2;
274  values[26] = xi8*eta2;
275  values[27] = xi0*eta3;
276  values[28] = xi1*eta3;
277  values[29] = xi2*eta3;
278  values[30] = xi3*eta3;
279  values[31] = xi4*eta3;
280  values[32] = xi5*eta3;
281  values[33] = xi6*eta3;
282  values[34] = xi7*eta3;
283  values[35] = xi8*eta3;
284  values[36] = xi0*eta4;
285  values[37] = xi1*eta4;
286  values[38] = xi2*eta4;
287  values[39] = xi3*eta4;
288  values[40] = xi4*eta4;
289  values[41] = xi5*eta4;
290  values[42] = xi6*eta4;
291  values[43] = xi7*eta4;
292  values[44] = xi8*eta4;
293  values[45] = xi0*eta5;
294  values[46] = xi1*eta5;
295  values[47] = xi2*eta5;
296  values[48] = xi3*eta5;
297  values[49] = xi4*eta5;
298  values[50] = xi5*eta5;
299  values[51] = xi6*eta5;
300  values[52] = xi7*eta5;
301  values[53] = xi8*eta5;
302  values[54] = xi0*eta6;
303  values[55] = xi1*eta6;
304  values[56] = xi2*eta6;
305  values[57] = xi3*eta6;
306  values[58] = xi4*eta6;
307  values[59] = xi5*eta6;
308  values[60] = xi6*eta6;
309  values[61] = xi7*eta6;
310  values[62] = xi8*eta6;
311  values[63] = xi0*eta7;
312  values[64] = xi1*eta7;
313  values[65] = xi2*eta7;
314  values[66] = xi3*eta7;
315  values[67] = xi4*eta7;
316  values[68] = xi5*eta7;
317  values[69] = xi6*eta7;
318  values[70] = xi7*eta7;
319  values[71] = xi8*eta7;
320  values[72] = xi0*eta8;
321  values[73] = xi1*eta8;
322  values[74] = xi2*eta8;
323  values[75] = xi3*eta8;
324  values[76] = xi4*eta8;
325  values[77] = xi5*eta8;
326  values[78] = xi6*eta8;
327  values[79] = xi7*eta8;
328  values[80] = xi8*eta8;
329 }
330 
331 // values of the derivatives in xi-xi direction
332 static void C_Q_Q8_2D_DeriveXiXi(double xi, double eta, double *values)
333 {
334 
335  double xi0= 0.9102222222222222E2*xi*xi*xi*xi*xi*xi-0.6826666666666667E2*xi*xi*xi*xi*xi-0.4266666666666667E2*xi*xi*xi*xi+0.2844444444444444E2*xi*xi*xi+0.3733333333333333E1*xi*xi-0.1866666666666667E1*xi-0.2857142857142857E-1;
336  double xi1= -0.7281777777777778E3*xi*xi*xi*xi*xi*xi+0.4096E3*xi*xi*xi*xi*xi+0.512E3*xi*xi*xi*xi-0.256E3*xi*xi*xi-0.512E2*xi*xi+0.192E2*xi+0.4063492063492063;
337  double xi2= 0.2548622222222222E4*xi*xi*xi*xi*xi*xi-0.9557333333333333E3*xi*xi*xi*xi*xi-0.2218666666666667E4*xi*xi*xi*xi+0.7395555555555556E3*xi*xi*xi+0.3605333333333333E3*xi*xi-0.9013333333333333E2*xi-0.32E1;
338  double xi3= -0.5097244444444444E4*xi*xi*xi*xi*xi*xi+0.9557333333333333E3*xi*xi*xi*xi*xi+0.4949333333333333E4*xi*xi*xi*xi-0.8248888888888889E3*xi*xi*xi-0.1041066666666667E4*xi*xi+0.1301333333333333E3*xi+0.256E2;
339  double xi4= 0.6371555555555556E4*xi*xi*xi*xi*xi*xi-0.64E4*xi*xi*xi*xi+0.1456E4*xi*xi-0.4555555555555556E2;
340  double xi5= -0.5097244444444444E4*xi*xi*xi*xi*xi*xi-0.9557333333333333E3*xi*xi*xi*xi*xi+0.4949333333333333E4*xi*xi*xi*xi+0.8248888888888889E3*xi*xi*xi-0.1041066666666667E4*xi*xi-0.1301333333333333E3*xi+0.256E2;
341  double xi6= 0.2548622222222222E4*xi*xi*xi*xi*xi*xi+0.9557333333333333E3*xi*xi*xi*xi*xi-0.2218666666666667E4*xi*xi*xi*xi-0.7395555555555556E3*xi*xi*xi+0.3605333333333333E3*xi*xi+0.9013333333333333E2*xi-0.32E1;
342  double xi7= -0.7281777777777778E3*xi*xi*xi*xi*xi*xi-0.4096E3*xi*xi*xi*xi*xi+0.512E3*xi*xi*xi*xi+0.256E3*xi*xi*xi-0.512E2*xi*xi-0.192E2*xi+0.4063492063492063;
343  double xi8= 0.9102222222222222E2*xi*xi*xi*xi*xi*xi+0.6826666666666667E2*xi*xi*xi*xi*xi-0.4266666666666667E2*xi*xi*xi*xi-0.2844444444444444E2*xi*xi*xi+0.3733333333333333E1*xi*xi+0.1866666666666667E1*xi-0.2857142857142857E-1;
344 
345  double eta0= 0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta*eta-0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta*eta+0.1422222222222222E1*eta*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta*eta-0.3111111111111111*eta*eta*eta-0.1428571428571429E-1*eta*eta+0.1428571428571429E-1*eta;
346  double eta1= -0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta*eta+0.9752380952380952E1*eta*eta*eta*eta*eta*eta*eta+0.1706666666666667E2*eta*eta*eta*eta*eta*eta-0.128E2*eta*eta*eta*eta*eta-0.4266666666666667E1*eta*eta*eta*eta+0.32E1*eta*eta*eta+0.2031746031746032*eta*eta-0.1523809523809524*eta;
347  double eta2= 0.4551111111111111E2*eta*eta*eta*eta*eta*eta*eta*eta-0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta-0.7395555555555556E2*eta*eta*eta*eta*eta*eta+0.3697777777777778E2*eta*eta*eta*eta*eta+0.3004444444444444E2*eta*eta*eta*eta-0.1502222222222222E2*eta*eta*eta-0.16E1*eta*eta+0.8*eta;
348  double eta3= -0.9102222222222222E2*eta*eta*eta*eta*eta*eta*eta*eta+0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta+0.1649777777777778E3*eta*eta*eta*eta*eta*eta-0.4124444444444444E2*eta*eta*eta*eta*eta-0.8675555555555556E2*eta*eta*eta*eta+0.2168888888888889E2*eta*eta*eta+0.128E2*eta*eta-0.32E1*eta;
349  double eta4= 0.1137777777777778E3*eta*eta*eta*eta*eta*eta*eta*eta-0.2133333333333333E3*eta*eta*eta*eta*eta*eta+0.1213333333333333E3*eta*eta*eta*eta-0.2277777777777778E2*eta*eta+1.0;
350  double eta5= -0.9102222222222222E2*eta*eta*eta*eta*eta*eta*eta*eta-0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta+0.1649777777777778E3*eta*eta*eta*eta*eta*eta+0.4124444444444444E2*eta*eta*eta*eta*eta-0.8675555555555556E2*eta*eta*eta*eta-0.2168888888888889E2*eta*eta*eta+0.128E2*eta*eta+0.32E1*eta;
351  double eta6= 0.4551111111111111E2*eta*eta*eta*eta*eta*eta*eta*eta+0.2275555555555556E2*eta*eta*eta*eta*eta*eta*eta-0.7395555555555556E2*eta*eta*eta*eta*eta*eta-0.3697777777777778E2*eta*eta*eta*eta*eta+0.3004444444444444E2*eta*eta*eta*eta+0.1502222222222222E2*eta*eta*eta-0.16E1*eta*eta-0.8*eta;
352  double eta7= -0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta*eta-0.9752380952380952E1*eta*eta*eta*eta*eta*eta*eta+0.1706666666666667E2*eta*eta*eta*eta*eta*eta+0.128E2*eta*eta*eta*eta*eta-0.4266666666666667E1*eta*eta*eta*eta-0.32E1*eta*eta*eta+0.2031746031746032*eta*eta+0.1523809523809524*eta;
353  double eta8= 0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta*eta+0.1625396825396825E1*eta*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta*eta-0.1422222222222222E1*eta*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta*eta+0.3111111111111111*eta*eta*eta-0.1428571428571429E-1*eta*eta-0.1428571428571429E-1*eta;
354 
355 
356  values[0] = xi0*eta0;
357  values[1] = xi1*eta0;
358  values[2] = xi2*eta0;
359  values[3] = xi3*eta0;
360  values[4] = xi4*eta0;
361  values[5] = xi5*eta0;
362  values[6] = xi6*eta0;
363  values[7] = xi7*eta0;
364  values[8] = xi8*eta0;
365  values[9] = xi0*eta1;
366  values[10] = xi1*eta1;
367  values[11] = xi2*eta1;
368  values[12] = xi3*eta1;
369  values[13] = xi4*eta1;
370  values[14] = xi5*eta1;
371  values[15] = xi6*eta1;
372  values[16] = xi7*eta1;
373  values[17] = xi8*eta1;
374  values[18] = xi0*eta2;
375  values[19] = xi1*eta2;
376  values[20] = xi2*eta2;
377  values[21] = xi3*eta2;
378  values[22] = xi4*eta2;
379  values[23] = xi5*eta2;
380  values[24] = xi6*eta2;
381  values[25] = xi7*eta2;
382  values[26] = xi8*eta2;
383  values[27] = xi0*eta3;
384  values[28] = xi1*eta3;
385  values[29] = xi2*eta3;
386  values[30] = xi3*eta3;
387  values[31] = xi4*eta3;
388  values[32] = xi5*eta3;
389  values[33] = xi6*eta3;
390  values[34] = xi7*eta3;
391  values[35] = xi8*eta3;
392  values[36] = xi0*eta4;
393  values[37] = xi1*eta4;
394  values[38] = xi2*eta4;
395  values[39] = xi3*eta4;
396  values[40] = xi4*eta4;
397  values[41] = xi5*eta4;
398  values[42] = xi6*eta4;
399  values[43] = xi7*eta4;
400  values[44] = xi8*eta4;
401  values[45] = xi0*eta5;
402  values[46] = xi1*eta5;
403  values[47] = xi2*eta5;
404  values[48] = xi3*eta5;
405  values[49] = xi4*eta5;
406  values[50] = xi5*eta5;
407  values[51] = xi6*eta5;
408  values[52] = xi7*eta5;
409  values[53] = xi8*eta5;
410  values[54] = xi0*eta6;
411  values[55] = xi1*eta6;
412  values[56] = xi2*eta6;
413  values[57] = xi3*eta6;
414  values[58] = xi4*eta6;
415  values[59] = xi5*eta6;
416  values[60] = xi6*eta6;
417  values[61] = xi7*eta6;
418  values[62] = xi8*eta6;
419  values[63] = xi0*eta7;
420  values[64] = xi1*eta7;
421  values[65] = xi2*eta7;
422  values[66] = xi3*eta7;
423  values[67] = xi4*eta7;
424  values[68] = xi5*eta7;
425  values[69] = xi6*eta7;
426  values[70] = xi7*eta7;
427  values[71] = xi8*eta7;
428  values[72] = xi0*eta8;
429  values[73] = xi1*eta8;
430  values[74] = xi2*eta8;
431  values[75] = xi3*eta8;
432  values[76] = xi4*eta8;
433  values[77] = xi5*eta8;
434  values[78] = xi6*eta8;
435  values[79] = xi7*eta8;
436  values[80] = xi8*eta8;
437 }
438 
439 // values of the derivatives in xi-eta direction
440 static void C_Q_Q8_2D_DeriveXiEta(double xi, double eta, double *values)
441 {
442 
443  double xi0= 0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi-0.1137777777777778E2*xi*xi*xi*xi*xi*xi-0.8533333333333333E1*xi*xi*xi*xi*xi+0.7111111111111111E1*xi*xi*xi*xi+0.1244444444444444E1*xi*xi*xi-0.9333333333333333*xi*xi-0.2857142857142857E-1*xi+0.1428571428571429E-1;
444  double xi1= -0.1040253968253968E3*xi*xi*xi*xi*xi*xi*xi+0.6826666666666667E2*xi*xi*xi*xi*xi*xi+0.1024E3*xi*xi*xi*xi*xi-0.64E2*xi*xi*xi*xi-0.1706666666666667E2*xi*xi*xi+0.96E1*xi*xi+0.4063492063492063*xi-0.1523809523809524;
445  double xi2= 0.3640888888888889E3*xi*xi*xi*xi*xi*xi*xi-0.1592888888888889E3*xi*xi*xi*xi*xi*xi-0.4437333333333333E3*xi*xi*xi*xi*xi+0.1848888888888889E3*xi*xi*xi*xi+0.1201777777777778E3*xi*xi*xi-0.4506666666666667E2*xi*xi-0.32E1*xi+0.8;
446  double xi3= -0.7281777777777778E3*xi*xi*xi*xi*xi*xi*xi+0.1592888888888889E3*xi*xi*xi*xi*xi*xi+0.9898666666666667E3*xi*xi*xi*xi*xi-0.2062222222222222E3*xi*xi*xi*xi-0.3470222222222222E3*xi*xi*xi+0.6506666666666667E2*xi*xi+0.256E2*xi-0.32E1;
447  double xi4= 0.9102222222222222E3*xi*xi*xi*xi*xi*xi*xi-0.128E4*xi*xi*xi*xi*xi+0.4853333333333333E3*xi*xi*xi-0.4555555555555556E2*xi;
448  double xi5= -0.7281777777777778E3*xi*xi*xi*xi*xi*xi*xi-0.1592888888888889E3*xi*xi*xi*xi*xi*xi+0.9898666666666667E3*xi*xi*xi*xi*xi+0.2062222222222222E3*xi*xi*xi*xi-0.3470222222222222E3*xi*xi*xi-0.6506666666666667E2*xi*xi+0.256E2*xi+0.32E1;
449  double xi6= 0.3640888888888889E3*xi*xi*xi*xi*xi*xi*xi+0.1592888888888889E3*xi*xi*xi*xi*xi*xi-0.4437333333333333E3*xi*xi*xi*xi*xi-0.1848888888888889E3*xi*xi*xi*xi+0.1201777777777778E3*xi*xi*xi+0.4506666666666667E2*xi*xi-0.32E1*xi-0.8;
450  double xi7= -0.1040253968253968E3*xi*xi*xi*xi*xi*xi*xi-0.6826666666666667E2*xi*xi*xi*xi*xi*xi+0.1024E3*xi*xi*xi*xi*xi+0.64E2*xi*xi*xi*xi-0.1706666666666667E2*xi*xi*xi-0.96E1*xi*xi+0.4063492063492063*xi+0.1523809523809524;
451  double xi8= 0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi+0.1137777777777778E2*xi*xi*xi*xi*xi*xi-0.8533333333333333E1*xi*xi*xi*xi*xi-0.7111111111111111E1*xi*xi*xi*xi+0.1244444444444444E1*xi*xi*xi+0.9333333333333333*xi*xi-0.2857142857142857E-1*xi-0.1428571428571429E-1;
452 
453  double eta0= 0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta-0.1137777777777778E2*eta*eta*eta*eta*eta*eta-0.8533333333333333E1*eta*eta*eta*eta*eta+0.7111111111111111E1*eta*eta*eta*eta+0.1244444444444444E1*eta*eta*eta-0.9333333333333333*eta*eta-0.2857142857142857E-1*eta+0.1428571428571429E-1;
454  double eta1= -0.1040253968253968E3*eta*eta*eta*eta*eta*eta*eta+0.6826666666666667E2*eta*eta*eta*eta*eta*eta+0.1024E3*eta*eta*eta*eta*eta-0.64E2*eta*eta*eta*eta-0.1706666666666667E2*eta*eta*eta+0.96E1*eta*eta+0.4063492063492063*eta-0.1523809523809524;
455  double eta2= 0.3640888888888889E3*eta*eta*eta*eta*eta*eta*eta-0.1592888888888889E3*eta*eta*eta*eta*eta*eta-0.4437333333333333E3*eta*eta*eta*eta*eta+0.1848888888888889E3*eta*eta*eta*eta+0.1201777777777778E3*eta*eta*eta-0.4506666666666667E2*eta*eta-0.32E1*eta+0.8;
456  double eta3= -0.7281777777777778E3*eta*eta*eta*eta*eta*eta*eta+0.1592888888888889E3*eta*eta*eta*eta*eta*eta+0.9898666666666667E3*eta*eta*eta*eta*eta-0.2062222222222222E3*eta*eta*eta*eta-0.3470222222222222E3*eta*eta*eta+0.6506666666666667E2*eta*eta+0.256E2*eta-0.32E1;
457  double eta4= 0.9102222222222222E3*eta*eta*eta*eta*eta*eta*eta-0.128E4*eta*eta*eta*eta*eta+0.4853333333333333E3*eta*eta*eta-0.4555555555555556E2*eta;
458  double eta5= -0.7281777777777778E3*eta*eta*eta*eta*eta*eta*eta-0.1592888888888889E3*eta*eta*eta*eta*eta*eta+0.9898666666666667E3*eta*eta*eta*eta*eta+0.2062222222222222E3*eta*eta*eta*eta-0.3470222222222222E3*eta*eta*eta-0.6506666666666667E2*eta*eta+0.256E2*eta+0.32E1;
459  double eta6= 0.3640888888888889E3*eta*eta*eta*eta*eta*eta*eta+0.1592888888888889E3*eta*eta*eta*eta*eta*eta-0.4437333333333333E3*eta*eta*eta*eta*eta-0.1848888888888889E3*eta*eta*eta*eta+0.1201777777777778E3*eta*eta*eta+0.4506666666666667E2*eta*eta-0.32E1*eta-0.8;
460  double eta7= -0.1040253968253968E3*eta*eta*eta*eta*eta*eta*eta-0.6826666666666667E2*eta*eta*eta*eta*eta*eta+0.1024E3*eta*eta*eta*eta*eta+0.64E2*eta*eta*eta*eta-0.1706666666666667E2*eta*eta*eta-0.96E1*eta*eta+0.4063492063492063*eta+0.1523809523809524;
461  double eta8= 0.130031746031746E2*eta*eta*eta*eta*eta*eta*eta+0.1137777777777778E2*eta*eta*eta*eta*eta*eta-0.8533333333333333E1*eta*eta*eta*eta*eta-0.7111111111111111E1*eta*eta*eta*eta+0.1244444444444444E1*eta*eta*eta+0.9333333333333333*eta*eta-0.2857142857142857E-1*eta-0.1428571428571429E-1;
462 
463 
464  values[0] = xi0*eta0;
465  values[1] = xi1*eta0;
466  values[2] = xi2*eta0;
467  values[3] = xi3*eta0;
468  values[4] = xi4*eta0;
469  values[5] = xi5*eta0;
470  values[6] = xi6*eta0;
471  values[7] = xi7*eta0;
472  values[8] = xi8*eta0;
473  values[9] = xi0*eta1;
474  values[10] = xi1*eta1;
475  values[11] = xi2*eta1;
476  values[12] = xi3*eta1;
477  values[13] = xi4*eta1;
478  values[14] = xi5*eta1;
479  values[15] = xi6*eta1;
480  values[16] = xi7*eta1;
481  values[17] = xi8*eta1;
482  values[18] = xi0*eta2;
483  values[19] = xi1*eta2;
484  values[20] = xi2*eta2;
485  values[21] = xi3*eta2;
486  values[22] = xi4*eta2;
487  values[23] = xi5*eta2;
488  values[24] = xi6*eta2;
489  values[25] = xi7*eta2;
490  values[26] = xi8*eta2;
491  values[27] = xi0*eta3;
492  values[28] = xi1*eta3;
493  values[29] = xi2*eta3;
494  values[30] = xi3*eta3;
495  values[31] = xi4*eta3;
496  values[32] = xi5*eta3;
497  values[33] = xi6*eta3;
498  values[34] = xi7*eta3;
499  values[35] = xi8*eta3;
500  values[36] = xi0*eta4;
501  values[37] = xi1*eta4;
502  values[38] = xi2*eta4;
503  values[39] = xi3*eta4;
504  values[40] = xi4*eta4;
505  values[41] = xi5*eta4;
506  values[42] = xi6*eta4;
507  values[43] = xi7*eta4;
508  values[44] = xi8*eta4;
509  values[45] = xi0*eta5;
510  values[46] = xi1*eta5;
511  values[47] = xi2*eta5;
512  values[48] = xi3*eta5;
513  values[49] = xi4*eta5;
514  values[50] = xi5*eta5;
515  values[51] = xi6*eta5;
516  values[52] = xi7*eta5;
517  values[53] = xi8*eta5;
518  values[54] = xi0*eta6;
519  values[55] = xi1*eta6;
520  values[56] = xi2*eta6;
521  values[57] = xi3*eta6;
522  values[58] = xi4*eta6;
523  values[59] = xi5*eta6;
524  values[60] = xi6*eta6;
525  values[61] = xi7*eta6;
526  values[62] = xi8*eta6;
527  values[63] = xi0*eta7;
528  values[64] = xi1*eta7;
529  values[65] = xi2*eta7;
530  values[66] = xi3*eta7;
531  values[67] = xi4*eta7;
532  values[68] = xi5*eta7;
533  values[69] = xi6*eta7;
534  values[70] = xi7*eta7;
535  values[71] = xi8*eta7;
536  values[72] = xi0*eta8;
537  values[73] = xi1*eta8;
538  values[74] = xi2*eta8;
539  values[75] = xi3*eta8;
540  values[76] = xi4*eta8;
541  values[77] = xi5*eta8;
542  values[78] = xi6*eta8;
543  values[79] = xi7*eta8;
544  values[80] = xi8*eta8;
545 }
546 
547 // values of the derivatives in eta-eta direction
548 static void C_Q_Q8_2D_DeriveEtaEta(double xi, double eta, double *values)
549 {
550 
551  double xi0= 0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi*xi-0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi*xi+0.1422222222222222E1*xi*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi*xi-0.3111111111111111*xi*xi*xi-0.1428571428571429E-1*xi*xi+0.1428571428571429E-1*xi;
552  double xi1= -0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi*xi+0.9752380952380952E1*xi*xi*xi*xi*xi*xi*xi+0.1706666666666667E2*xi*xi*xi*xi*xi*xi-0.128E2*xi*xi*xi*xi*xi-0.4266666666666667E1*xi*xi*xi*xi+0.32E1*xi*xi*xi+0.2031746031746032*xi*xi-0.1523809523809524*xi;
553  double xi2= 0.4551111111111111E2*xi*xi*xi*xi*xi*xi*xi*xi-0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi-0.7395555555555556E2*xi*xi*xi*xi*xi*xi+0.3697777777777778E2*xi*xi*xi*xi*xi+0.3004444444444444E2*xi*xi*xi*xi-0.1502222222222222E2*xi*xi*xi-0.16E1*xi*xi+0.8*xi;
554  double xi3= -0.9102222222222222E2*xi*xi*xi*xi*xi*xi*xi*xi+0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi+0.1649777777777778E3*xi*xi*xi*xi*xi*xi-0.4124444444444444E2*xi*xi*xi*xi*xi-0.8675555555555556E2*xi*xi*xi*xi+0.2168888888888889E2*xi*xi*xi+0.128E2*xi*xi-0.32E1*xi;
555  double xi4= 0.1137777777777778E3*xi*xi*xi*xi*xi*xi*xi*xi-0.2133333333333333E3*xi*xi*xi*xi*xi*xi+0.1213333333333333E3*xi*xi*xi*xi-0.2277777777777778E2*xi*xi+1.0;
556  double xi5= -0.9102222222222222E2*xi*xi*xi*xi*xi*xi*xi*xi-0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi+0.1649777777777778E3*xi*xi*xi*xi*xi*xi+0.4124444444444444E2*xi*xi*xi*xi*xi-0.8675555555555556E2*xi*xi*xi*xi-0.2168888888888889E2*xi*xi*xi+0.128E2*xi*xi+0.32E1*xi;
557  double xi6= 0.4551111111111111E2*xi*xi*xi*xi*xi*xi*xi*xi+0.2275555555555556E2*xi*xi*xi*xi*xi*xi*xi-0.7395555555555556E2*xi*xi*xi*xi*xi*xi-0.3697777777777778E2*xi*xi*xi*xi*xi+0.3004444444444444E2*xi*xi*xi*xi+0.1502222222222222E2*xi*xi*xi-0.16E1*xi*xi-0.8*xi;
558  double xi7= -0.130031746031746E2*xi*xi*xi*xi*xi*xi*xi*xi-0.9752380952380952E1*xi*xi*xi*xi*xi*xi*xi+0.1706666666666667E2*xi*xi*xi*xi*xi*xi+0.128E2*xi*xi*xi*xi*xi-0.4266666666666667E1*xi*xi*xi*xi-0.32E1*xi*xi*xi+0.2031746031746032*xi*xi+0.1523809523809524*xi;
559  double xi8= 0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi*xi+0.1625396825396825E1*xi*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi*xi-0.1422222222222222E1*xi*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi*xi+0.3111111111111111*xi*xi*xi-0.1428571428571429E-1*xi*xi-0.1428571428571429E-1*xi;
560 
561  double eta0= 0.9102222222222222E2*eta*eta*eta*eta*eta*eta-0.6826666666666667E2*eta*eta*eta*eta*eta-0.4266666666666667E2*eta*eta*eta*eta+0.2844444444444444E2*eta*eta*eta+0.3733333333333333E1*eta*eta-0.1866666666666667E1*eta-0.2857142857142857E-1;
562  double eta1= -0.7281777777777778E3*eta*eta*eta*eta*eta*eta+0.4096E3*eta*eta*eta*eta*eta+0.512E3*eta*eta*eta*eta-0.256E3*eta*eta*eta-0.512E2*eta*eta+0.192E2*eta+0.4063492063492063;
563  double eta2= 0.2548622222222222E4*eta*eta*eta*eta*eta*eta-0.9557333333333333E3*eta*eta*eta*eta*eta-0.2218666666666667E4*eta*eta*eta*eta+0.7395555555555556E3*eta*eta*eta+0.3605333333333333E3*eta*eta-0.9013333333333333E2*eta-0.32E1;
564  double eta3= -0.5097244444444444E4*eta*eta*eta*eta*eta*eta+0.9557333333333333E3*eta*eta*eta*eta*eta+0.4949333333333333E4*eta*eta*eta*eta-0.8248888888888889E3*eta*eta*eta-0.1041066666666667E4*eta*eta+0.1301333333333333E3*eta+0.256E2;
565  double eta4= 0.6371555555555556E4*eta*eta*eta*eta*eta*eta-0.64E4*eta*eta*eta*eta+0.1456E4*eta*eta-0.4555555555555556E2;
566  double eta5= -0.5097244444444444E4*eta*eta*eta*eta*eta*eta-0.9557333333333333E3*eta*eta*eta*eta*eta+0.4949333333333333E4*eta*eta*eta*eta+0.8248888888888889E3*eta*eta*eta-0.1041066666666667E4*eta*eta-0.1301333333333333E3*eta+0.256E2;
567  double eta6= 0.2548622222222222E4*eta*eta*eta*eta*eta*eta+0.9557333333333333E3*eta*eta*eta*eta*eta-0.2218666666666667E4*eta*eta*eta*eta-0.7395555555555556E3*eta*eta*eta+0.3605333333333333E3*eta*eta+0.9013333333333333E2*eta-0.32E1;
568  double eta7= -0.7281777777777778E3*eta*eta*eta*eta*eta*eta-0.4096E3*eta*eta*eta*eta*eta+0.512E3*eta*eta*eta*eta+0.256E3*eta*eta*eta-0.512E2*eta*eta-0.192E2*eta+0.4063492063492063;
569  double eta8= 0.9102222222222222E2*eta*eta*eta*eta*eta*eta+0.6826666666666667E2*eta*eta*eta*eta*eta-0.4266666666666667E2*eta*eta*eta*eta-0.2844444444444444E2*eta*eta*eta+0.3733333333333333E1*eta*eta+0.1866666666666667E1*eta-0.2857142857142857E-1;
570 
571 
572  values[0] = xi0*eta0;
573  values[1] = xi1*eta0;
574  values[2] = xi2*eta0;
575  values[3] = xi3*eta0;
576  values[4] = xi4*eta0;
577  values[5] = xi5*eta0;
578  values[6] = xi6*eta0;
579  values[7] = xi7*eta0;
580  values[8] = xi8*eta0;
581  values[9] = xi0*eta1;
582  values[10] = xi1*eta1;
583  values[11] = xi2*eta1;
584  values[12] = xi3*eta1;
585  values[13] = xi4*eta1;
586  values[14] = xi5*eta1;
587  values[15] = xi6*eta1;
588  values[16] = xi7*eta1;
589  values[17] = xi8*eta1;
590  values[18] = xi0*eta2;
591  values[19] = xi1*eta2;
592  values[20] = xi2*eta2;
593  values[21] = xi3*eta2;
594  values[22] = xi4*eta2;
595  values[23] = xi5*eta2;
596  values[24] = xi6*eta2;
597  values[25] = xi7*eta2;
598  values[26] = xi8*eta2;
599  values[27] = xi0*eta3;
600  values[28] = xi1*eta3;
601  values[29] = xi2*eta3;
602  values[30] = xi3*eta3;
603  values[31] = xi4*eta3;
604  values[32] = xi5*eta3;
605  values[33] = xi6*eta3;
606  values[34] = xi7*eta3;
607  values[35] = xi8*eta3;
608  values[36] = xi0*eta4;
609  values[37] = xi1*eta4;
610  values[38] = xi2*eta4;
611  values[39] = xi3*eta4;
612  values[40] = xi4*eta4;
613  values[41] = xi5*eta4;
614  values[42] = xi6*eta4;
615  values[43] = xi7*eta4;
616  values[44] = xi8*eta4;
617  values[45] = xi0*eta5;
618  values[46] = xi1*eta5;
619  values[47] = xi2*eta5;
620  values[48] = xi3*eta5;
621  values[49] = xi4*eta5;
622  values[50] = xi5*eta5;
623  values[51] = xi6*eta5;
624  values[52] = xi7*eta5;
625  values[53] = xi8*eta5;
626  values[54] = xi0*eta6;
627  values[55] = xi1*eta6;
628  values[56] = xi2*eta6;
629  values[57] = xi3*eta6;
630  values[58] = xi4*eta6;
631  values[59] = xi5*eta6;
632  values[60] = xi6*eta6;
633  values[61] = xi7*eta6;
634  values[62] = xi8*eta6;
635  values[63] = xi0*eta7;
636  values[64] = xi1*eta7;
637  values[65] = xi2*eta7;
638  values[66] = xi3*eta7;
639  values[67] = xi4*eta7;
640  values[68] = xi5*eta7;
641  values[69] = xi6*eta7;
642  values[70] = xi7*eta7;
643  values[71] = xi8*eta7;
644  values[72] = xi0*eta8;
645  values[73] = xi1*eta8;
646  values[74] = xi2*eta8;
647  values[75] = xi3*eta8;
648  values[76] = xi4*eta8;
649  values[77] = xi5*eta8;
650  values[78] = xi6*eta8;
651  values[79] = xi7*eta8;
652  values[80] = xi8*eta8;
653 }
654 
655 
656 // ***********************************************************************
657 
658 TBaseFunct2D *BF_C_Q_Q8_2D_Obj = new TBaseFunct2D
659  (81, BF_C_Q_Q8_2D, BFUnitSquare,
660  C_Q_Q8_2D_Funct, C_Q_Q8_2D_DeriveXi,
661  C_Q_Q8_2D_DeriveEta, C_Q_Q8_2D_DeriveXiXi,
662  C_Q_Q8_2D_DeriveXiEta, C_Q_Q8_2D_DeriveEtaEta, 8, 8,
663  0, NULL);
Definition: BaseFunct2D.h:27