ParMooN
 All Classes Functions Variables Friends Pages
BF_C_Q_Q6_2D.h
1 
2 // ***********************************************************************
3 // Q6 element, conforming, 2D
4 // ***********************************************************************
5 
6 // base function values
7 static void C_Q_Q6_2D_Funct(double xi, double eta, double *values)
8 {
9 
10  double xi0= 0.10125E1*xi*xi*xi*xi*xi*xi-0.10125E1*xi*xi*xi*xi*xi-0.5625*xi*xi*xi*xi+0.5625*xi*xi*xi+0.5E-1*xi*xi-0.5E-1*xi;
11  double xi1= -0.6075E1*xi*xi*xi*xi*xi*xi+0.405E1*xi*xi*xi*xi*xi+0.675E1*xi*xi*xi*xi-0.45E1*xi*xi*xi-0.675*xi*xi+0.45*xi;
12  double xi2= 0.151875E2*xi*xi*xi*xi*xi*xi-0.50625E1*xi*xi*xi*xi*xi-0.219375E2*xi*xi*xi*xi+0.73125E1*xi*xi*xi+0.675E1*xi*xi-0.225E1*xi;
13  double xi3= -0.2025E2*xi*xi*xi*xi*xi*xi+0.315E2*xi*xi*xi*xi-0.1225E2*xi*xi+1.0;
14  double xi4= 0.151875E2*xi*xi*xi*xi*xi*xi+0.50625E1*xi*xi*xi*xi*xi-0.219375E2*xi*xi*xi*xi-0.73125E1*xi*xi*xi+0.675E1*xi*xi+0.225E1*xi;
15  double xi5= -0.6075E1*xi*xi*xi*xi*xi*xi-0.405E1*xi*xi*xi*xi*xi+0.675E1*xi*xi*xi*xi+0.45E1*xi*xi*xi-0.675*xi*xi-0.45*xi;
16  double xi6= 0.10125E1*xi*xi*xi*xi*xi*xi+0.10125E1*xi*xi*xi*xi*xi-0.5625*xi*xi*xi*xi-0.5625*xi*xi*xi+0.5E-1*xi*xi+0.5E-1*xi;
17 
18  double eta0= 0.10125E1*eta*eta*eta*eta*eta*eta-0.10125E1*eta*eta*eta*eta*eta-0.5625*eta*eta*eta*eta+0.5625*eta*eta*eta+0.5E-1*eta*eta-0.5E-1*eta;
19  double eta1= -0.6075E1*eta*eta*eta*eta*eta*eta+0.405E1*eta*eta*eta*eta*eta+0.675E1*eta*eta*eta*eta-0.45E1*eta*eta*eta-0.675*eta*eta+0.45*eta;
20  double eta2= 0.151875E2*eta*eta*eta*eta*eta*eta-0.50625E1*eta*eta*eta*eta*eta-0.219375E2*eta*eta*eta*eta+0.73125E1*eta*eta*eta+0.675E1*eta*eta-0.225E1*eta;
21  double eta3= -0.2025E2*eta*eta*eta*eta*eta*eta+0.315E2*eta*eta*eta*eta-0.1225E2*eta*eta+1.0;
22  double eta4= 0.151875E2*eta*eta*eta*eta*eta*eta+0.50625E1*eta*eta*eta*eta*eta-0.219375E2*eta*eta*eta*eta-0.73125E1*eta*eta*eta+0.675E1*eta*eta+0.225E1*eta;
23  double eta5= -0.6075E1*eta*eta*eta*eta*eta*eta-0.405E1*eta*eta*eta*eta*eta+0.675E1*eta*eta*eta*eta+0.45E1*eta*eta*eta-0.675*eta*eta-0.45*eta;
24  double eta6= 0.10125E1*eta*eta*eta*eta*eta*eta+0.10125E1*eta*eta*eta*eta*eta-0.5625*eta*eta*eta*eta-0.5625*eta*eta*eta+0.5E-1*eta*eta+0.5E-1*eta;
25 
26 
27  values[0] = xi0*eta0;
28  values[1] = xi1*eta0;
29  values[2] = xi2*eta0;
30  values[3] = xi3*eta0;
31  values[4] = xi4*eta0;
32  values[5] = xi5*eta0;
33  values[6] = xi6*eta0;
34  values[7] = xi0*eta1;
35  values[8] = xi1*eta1;
36  values[9] = xi2*eta1;
37  values[10] = xi3*eta1;
38  values[11] = xi4*eta1;
39  values[12] = xi5*eta1;
40  values[13] = xi6*eta1;
41  values[14] = xi0*eta2;
42  values[15] = xi1*eta2;
43  values[16] = xi2*eta2;
44  values[17] = xi3*eta2;
45  values[18] = xi4*eta2;
46  values[19] = xi5*eta2;
47  values[20] = xi6*eta2;
48  values[21] = xi0*eta3;
49  values[22] = xi1*eta3;
50  values[23] = xi2*eta3;
51  values[24] = xi3*eta3;
52  values[25] = xi4*eta3;
53  values[26] = xi5*eta3;
54  values[27] = xi6*eta3;
55  values[28] = xi0*eta4;
56  values[29] = xi1*eta4;
57  values[30] = xi2*eta4;
58  values[31] = xi3*eta4;
59  values[32] = xi4*eta4;
60  values[33] = xi5*eta4;
61  values[34] = xi6*eta4;
62  values[35] = xi0*eta5;
63  values[36] = xi1*eta5;
64  values[37] = xi2*eta5;
65  values[38] = xi3*eta5;
66  values[39] = xi4*eta5;
67  values[40] = xi5*eta5;
68  values[41] = xi6*eta5;
69  values[42] = xi0*eta6;
70  values[43] = xi1*eta6;
71  values[44] = xi2*eta6;
72  values[45] = xi3*eta6;
73  values[46] = xi4*eta6;
74  values[47] = xi5*eta6;
75  values[48] = xi6*eta6;
76 }
77 
78 
79 // values of the derivatives in xi direction
80 static void C_Q_Q6_2D_DeriveXi(double xi, double eta, double *values)
81 {
82 
83  double xi0= 0.6075E1*xi*xi*xi*xi*xi-0.50625E1*xi*xi*xi*xi-0.225E1*xi*xi*xi+0.16875E1*xi*xi+0.1*xi-0.5E-1;
84  double xi1= -0.3645E2*xi*xi*xi*xi*xi+0.2025E2*xi*xi*xi*xi+0.27E2*xi*xi*xi-0.135E2*xi*xi-0.135E1*xi+0.45;
85  double xi2= 0.91125E2*xi*xi*xi*xi*xi-0.253125E2*xi*xi*xi*xi-0.8775E2*xi*xi*xi+0.219375E2*xi*xi+0.135E2*xi-0.225E1;
86  double xi3= -0.1215E3*xi*xi*xi*xi*xi+0.126E3*xi*xi*xi-0.245E2*xi;
87  double xi4= 0.91125E2*xi*xi*xi*xi*xi+0.253125E2*xi*xi*xi*xi-0.8775E2*xi*xi*xi-0.219375E2*xi*xi+0.135E2*xi+0.225E1;
88  double xi5= -0.3645E2*xi*xi*xi*xi*xi-0.2025E2*xi*xi*xi*xi+0.27E2*xi*xi*xi+0.135E2*xi*xi-0.135E1*xi-0.45;
89  double xi6= 0.6075E1*xi*xi*xi*xi*xi+0.50625E1*xi*xi*xi*xi-0.225E1*xi*xi*xi-0.16875E1*xi*xi+0.1*xi+0.5E-1;
90 
91  double eta0= 0.10125E1*eta*eta*eta*eta*eta*eta-0.10125E1*eta*eta*eta*eta*eta-0.5625*eta*eta*eta*eta+0.5625*eta*eta*eta+0.5E-1*eta*eta-0.5E-1*eta;
92  double eta1= -0.6075E1*eta*eta*eta*eta*eta*eta+0.405E1*eta*eta*eta*eta*eta+0.675E1*eta*eta*eta*eta-0.45E1*eta*eta*eta-0.675*eta*eta+0.45*eta;
93  double eta2= 0.151875E2*eta*eta*eta*eta*eta*eta-0.50625E1*eta*eta*eta*eta*eta-0.219375E2*eta*eta*eta*eta+0.73125E1*eta*eta*eta+0.675E1*eta*eta-0.225E1*eta;
94  double eta3= -0.2025E2*eta*eta*eta*eta*eta*eta+0.315E2*eta*eta*eta*eta-0.1225E2*eta*eta+1.0;
95  double eta4= 0.151875E2*eta*eta*eta*eta*eta*eta+0.50625E1*eta*eta*eta*eta*eta-0.219375E2*eta*eta*eta*eta-0.73125E1*eta*eta*eta+0.675E1*eta*eta+0.225E1*eta;
96  double eta5= -0.6075E1*eta*eta*eta*eta*eta*eta-0.405E1*eta*eta*eta*eta*eta+0.675E1*eta*eta*eta*eta+0.45E1*eta*eta*eta-0.675*eta*eta-0.45*eta;
97  double eta6= 0.10125E1*eta*eta*eta*eta*eta*eta+0.10125E1*eta*eta*eta*eta*eta-0.5625*eta*eta*eta*eta-0.5625*eta*eta*eta+0.5E-1*eta*eta+0.5E-1*eta;
98 
99 
100  values[0] = xi0*eta0;
101  values[1] = xi1*eta0;
102  values[2] = xi2*eta0;
103  values[3] = xi3*eta0;
104  values[4] = xi4*eta0;
105  values[5] = xi5*eta0;
106  values[6] = xi6*eta0;
107  values[7] = xi0*eta1;
108  values[8] = xi1*eta1;
109  values[9] = xi2*eta1;
110  values[10] = xi3*eta1;
111  values[11] = xi4*eta1;
112  values[12] = xi5*eta1;
113  values[13] = xi6*eta1;
114  values[14] = xi0*eta2;
115  values[15] = xi1*eta2;
116  values[16] = xi2*eta2;
117  values[17] = xi3*eta2;
118  values[18] = xi4*eta2;
119  values[19] = xi5*eta2;
120  values[20] = xi6*eta2;
121  values[21] = xi0*eta3;
122  values[22] = xi1*eta3;
123  values[23] = xi2*eta3;
124  values[24] = xi3*eta3;
125  values[25] = xi4*eta3;
126  values[26] = xi5*eta3;
127  values[27] = xi6*eta3;
128  values[28] = xi0*eta4;
129  values[29] = xi1*eta4;
130  values[30] = xi2*eta4;
131  values[31] = xi3*eta4;
132  values[32] = xi4*eta4;
133  values[33] = xi5*eta4;
134  values[34] = xi6*eta4;
135  values[35] = xi0*eta5;
136  values[36] = xi1*eta5;
137  values[37] = xi2*eta5;
138  values[38] = xi3*eta5;
139  values[39] = xi4*eta5;
140  values[40] = xi5*eta5;
141  values[41] = xi6*eta5;
142  values[42] = xi0*eta6;
143  values[43] = xi1*eta6;
144  values[44] = xi2*eta6;
145  values[45] = xi3*eta6;
146  values[46] = xi4*eta6;
147  values[47] = xi5*eta6;
148  values[48] = xi6*eta6;
149 }
150 
151 // values of the derivatives in eta direction
152 static void C_Q_Q6_2D_DeriveEta(double xi, double eta, double *values)
153 {
154 
155  double xi0= 0.10125E1*xi*xi*xi*xi*xi*xi-0.10125E1*xi*xi*xi*xi*xi-0.5625*xi*xi*xi*xi+0.5625*xi*xi*xi+0.5E-1*xi*xi-0.5E-1*xi;
156  double xi1= -0.6075E1*xi*xi*xi*xi*xi*xi+0.405E1*xi*xi*xi*xi*xi+0.675E1*xi*xi*xi*xi-0.45E1*xi*xi*xi-0.675*xi*xi+0.45*xi;
157  double xi2= 0.151875E2*xi*xi*xi*xi*xi*xi-0.50625E1*xi*xi*xi*xi*xi-0.219375E2*xi*xi*xi*xi+0.73125E1*xi*xi*xi+0.675E1*xi*xi-0.225E1*xi;
158  double xi3= -0.2025E2*xi*xi*xi*xi*xi*xi+0.315E2*xi*xi*xi*xi-0.1225E2*xi*xi+1.0;
159  double xi4= 0.151875E2*xi*xi*xi*xi*xi*xi+0.50625E1*xi*xi*xi*xi*xi-0.219375E2*xi*xi*xi*xi-0.73125E1*xi*xi*xi+0.675E1*xi*xi+0.225E1*xi;
160  double xi5= -0.6075E1*xi*xi*xi*xi*xi*xi-0.405E1*xi*xi*xi*xi*xi+0.675E1*xi*xi*xi*xi+0.45E1*xi*xi*xi-0.675*xi*xi-0.45*xi;
161  double xi6= 0.10125E1*xi*xi*xi*xi*xi*xi+0.10125E1*xi*xi*xi*xi*xi-0.5625*xi*xi*xi*xi-0.5625*xi*xi*xi+0.5E-1*xi*xi+0.5E-1*xi;
162 
163  double eta0= 0.6075E1*eta*eta*eta*eta*eta-0.50625E1*eta*eta*eta*eta-0.225E1*eta*eta*eta+0.16875E1*eta*eta+0.1*eta-0.5E-1;
164  double eta1= -0.3645E2*eta*eta*eta*eta*eta+0.2025E2*eta*eta*eta*eta+0.27E2*eta*eta*eta-0.135E2*eta*eta-0.135E1*eta+0.45;
165  double eta2= 0.91125E2*eta*eta*eta*eta*eta-0.253125E2*eta*eta*eta*eta-0.8775E2*eta*eta*eta+0.219375E2*eta*eta+0.135E2*eta-0.225E1;
166  double eta3= -0.1215E3*eta*eta*eta*eta*eta+0.126E3*eta*eta*eta-0.245E2*eta;
167  double eta4= 0.91125E2*eta*eta*eta*eta*eta+0.253125E2*eta*eta*eta*eta-0.8775E2*eta*eta*eta-0.219375E2*eta*eta+0.135E2*eta+0.225E1;
168  double eta5= -0.3645E2*eta*eta*eta*eta*eta-0.2025E2*eta*eta*eta*eta+0.27E2*eta*eta*eta+0.135E2*eta*eta-0.135E1*eta-0.45;
169  double eta6= 0.6075E1*eta*eta*eta*eta*eta+0.50625E1*eta*eta*eta*eta-0.225E1*eta*eta*eta-0.16875E1*eta*eta+0.1*eta+0.5E-1;
170 
171 
172  values[0] = xi0*eta0;
173  values[1] = xi1*eta0;
174  values[2] = xi2*eta0;
175  values[3] = xi3*eta0;
176  values[4] = xi4*eta0;
177  values[5] = xi5*eta0;
178  values[6] = xi6*eta0;
179  values[7] = xi0*eta1;
180  values[8] = xi1*eta1;
181  values[9] = xi2*eta1;
182  values[10] = xi3*eta1;
183  values[11] = xi4*eta1;
184  values[12] = xi5*eta1;
185  values[13] = xi6*eta1;
186  values[14] = xi0*eta2;
187  values[15] = xi1*eta2;
188  values[16] = xi2*eta2;
189  values[17] = xi3*eta2;
190  values[18] = xi4*eta2;
191  values[19] = xi5*eta2;
192  values[20] = xi6*eta2;
193  values[21] = xi0*eta3;
194  values[22] = xi1*eta3;
195  values[23] = xi2*eta3;
196  values[24] = xi3*eta3;
197  values[25] = xi4*eta3;
198  values[26] = xi5*eta3;
199  values[27] = xi6*eta3;
200  values[28] = xi0*eta4;
201  values[29] = xi1*eta4;
202  values[30] = xi2*eta4;
203  values[31] = xi3*eta4;
204  values[32] = xi4*eta4;
205  values[33] = xi5*eta4;
206  values[34] = xi6*eta4;
207  values[35] = xi0*eta5;
208  values[36] = xi1*eta5;
209  values[37] = xi2*eta5;
210  values[38] = xi3*eta5;
211  values[39] = xi4*eta5;
212  values[40] = xi5*eta5;
213  values[41] = xi6*eta5;
214  values[42] = xi0*eta6;
215  values[43] = xi1*eta6;
216  values[44] = xi2*eta6;
217  values[45] = xi3*eta6;
218  values[46] = xi4*eta6;
219  values[47] = xi5*eta6;
220  values[48] = xi6*eta6;
221 }
222 
223 // values of the derivatives in xi-xi direction
224 static void C_Q_Q6_2D_DeriveXiXi(double xi, double eta, double *values)
225 {
226 
227  double xi0= 0.30375E2*xi*xi*xi*xi-0.2025E2*xi*xi*xi-0.675E1*xi*xi+0.3375E1*xi+0.1;
228  double xi1= -0.18225E3*xi*xi*xi*xi+0.81E2*xi*xi*xi+0.81E2*xi*xi-0.27E2*xi-0.135E1;
229  double xi2= 0.455625E3*xi*xi*xi*xi-0.10125E3*xi*xi*xi-0.26325E3*xi*xi+0.43875E2*xi+0.135E2;
230  double xi3= -0.6075E3*xi*xi*xi*xi+0.378E3*xi*xi-0.245E2;
231  double xi4= 0.455625E3*xi*xi*xi*xi+0.10125E3*xi*xi*xi-0.26325E3*xi*xi-0.43875E2*xi+0.135E2;
232  double xi5= -0.18225E3*xi*xi*xi*xi-0.81E2*xi*xi*xi+0.81E2*xi*xi+0.27E2*xi-0.135E1;
233  double xi6= 0.30375E2*xi*xi*xi*xi+0.2025E2*xi*xi*xi-0.675E1*xi*xi-0.3375E1*xi+0.1;
234 
235  double eta0= 0.10125E1*eta*eta*eta*eta*eta*eta-0.10125E1*eta*eta*eta*eta*eta-0.5625*eta*eta*eta*eta+0.5625*eta*eta*eta+0.5E-1*eta*eta-0.5E-1*eta;
236  double eta1= -0.6075E1*eta*eta*eta*eta*eta*eta+0.405E1*eta*eta*eta*eta*eta+0.675E1*eta*eta*eta*eta-0.45E1*eta*eta*eta-0.675*eta*eta+0.45*eta;
237  double eta2= 0.151875E2*eta*eta*eta*eta*eta*eta-0.50625E1*eta*eta*eta*eta*eta-0.219375E2*eta*eta*eta*eta+0.73125E1*eta*eta*eta+0.675E1*eta*eta-0.225E1*eta;
238  double eta3= -0.2025E2*eta*eta*eta*eta*eta*eta+0.315E2*eta*eta*eta*eta-0.1225E2*eta*eta+1.0;
239  double eta4= 0.151875E2*eta*eta*eta*eta*eta*eta+0.50625E1*eta*eta*eta*eta*eta-0.219375E2*eta*eta*eta*eta-0.73125E1*eta*eta*eta+0.675E1*eta*eta+0.225E1*eta;
240  double eta5= -0.6075E1*eta*eta*eta*eta*eta*eta-0.405E1*eta*eta*eta*eta*eta+0.675E1*eta*eta*eta*eta+0.45E1*eta*eta*eta-0.675*eta*eta-0.45*eta;
241  double eta6= 0.10125E1*eta*eta*eta*eta*eta*eta+0.10125E1*eta*eta*eta*eta*eta-0.5625*eta*eta*eta*eta-0.5625*eta*eta*eta+0.5E-1*eta*eta+0.5E-1*eta;
242 
243 
244  values[0] = xi0*eta0;
245  values[1] = xi1*eta0;
246  values[2] = xi2*eta0;
247  values[3] = xi3*eta0;
248  values[4] = xi4*eta0;
249  values[5] = xi5*eta0;
250  values[6] = xi6*eta0;
251  values[7] = xi0*eta1;
252  values[8] = xi1*eta1;
253  values[9] = xi2*eta1;
254  values[10] = xi3*eta1;
255  values[11] = xi4*eta1;
256  values[12] = xi5*eta1;
257  values[13] = xi6*eta1;
258  values[14] = xi0*eta2;
259  values[15] = xi1*eta2;
260  values[16] = xi2*eta2;
261  values[17] = xi3*eta2;
262  values[18] = xi4*eta2;
263  values[19] = xi5*eta2;
264  values[20] = xi6*eta2;
265  values[21] = xi0*eta3;
266  values[22] = xi1*eta3;
267  values[23] = xi2*eta3;
268  values[24] = xi3*eta3;
269  values[25] = xi4*eta3;
270  values[26] = xi5*eta3;
271  values[27] = xi6*eta3;
272  values[28] = xi0*eta4;
273  values[29] = xi1*eta4;
274  values[30] = xi2*eta4;
275  values[31] = xi3*eta4;
276  values[32] = xi4*eta4;
277  values[33] = xi5*eta4;
278  values[34] = xi6*eta4;
279  values[35] = xi0*eta5;
280  values[36] = xi1*eta5;
281  values[37] = xi2*eta5;
282  values[38] = xi3*eta5;
283  values[39] = xi4*eta5;
284  values[40] = xi5*eta5;
285  values[41] = xi6*eta5;
286  values[42] = xi0*eta6;
287  values[43] = xi1*eta6;
288  values[44] = xi2*eta6;
289  values[45] = xi3*eta6;
290  values[46] = xi4*eta6;
291  values[47] = xi5*eta6;
292  values[48] = xi6*eta6;
293 }
294 
295 // values of the derivatives in xi-eta direction
296 static void C_Q_Q6_2D_DeriveXiEta(double xi, double eta, double *values)
297 {
298 
299  double xi0= 0.6075E1*xi*xi*xi*xi*xi-0.50625E1*xi*xi*xi*xi-0.225E1*xi*xi*xi+0.16875E1*xi*xi+0.1*xi-0.5E-1;
300  double xi1= -0.3645E2*xi*xi*xi*xi*xi+0.2025E2*xi*xi*xi*xi+0.27E2*xi*xi*xi-0.135E2*xi*xi-0.135E1*xi+0.45;
301  double xi2= 0.91125E2*xi*xi*xi*xi*xi-0.253125E2*xi*xi*xi*xi-0.8775E2*xi*xi*xi+0.219375E2*xi*xi+0.135E2*xi-0.225E1;
302  double xi3= -0.1215E3*xi*xi*xi*xi*xi+0.126E3*xi*xi*xi-0.245E2*xi;
303  double xi4= 0.91125E2*xi*xi*xi*xi*xi+0.253125E2*xi*xi*xi*xi-0.8775E2*xi*xi*xi-0.219375E2*xi*xi+0.135E2*xi+0.225E1;
304  double xi5= -0.3645E2*xi*xi*xi*xi*xi-0.2025E2*xi*xi*xi*xi+0.27E2*xi*xi*xi+0.135E2*xi*xi-0.135E1*xi-0.45;
305  double xi6= 0.6075E1*xi*xi*xi*xi*xi+0.50625E1*xi*xi*xi*xi-0.225E1*xi*xi*xi-0.16875E1*xi*xi+0.1*xi+0.5E-1;
306 
307  double eta0= 0.6075E1*eta*eta*eta*eta*eta-0.50625E1*eta*eta*eta*eta-0.225E1*eta*eta*eta+0.16875E1*eta*eta+0.1*eta-0.5E-1;
308  double eta1= -0.3645E2*eta*eta*eta*eta*eta+0.2025E2*eta*eta*eta*eta+0.27E2*eta*eta*eta-0.135E2*eta*eta-0.135E1*eta+0.45;
309  double eta2= 0.91125E2*eta*eta*eta*eta*eta-0.253125E2*eta*eta*eta*eta-0.8775E2*eta*eta*eta+0.219375E2*eta*eta+0.135E2*eta-0.225E1;
310  double eta3= -0.1215E3*eta*eta*eta*eta*eta+0.126E3*eta*eta*eta-0.245E2*eta;
311  double eta4= 0.91125E2*eta*eta*eta*eta*eta+0.253125E2*eta*eta*eta*eta-0.8775E2*eta*eta*eta-0.219375E2*eta*eta+0.135E2*eta+0.225E1;
312  double eta5= -0.3645E2*eta*eta*eta*eta*eta-0.2025E2*eta*eta*eta*eta+0.27E2*eta*eta*eta+0.135E2*eta*eta-0.135E1*eta-0.45;
313  double eta6= 0.6075E1*eta*eta*eta*eta*eta+0.50625E1*eta*eta*eta*eta-0.225E1*eta*eta*eta-0.16875E1*eta*eta+0.1*eta+0.5E-1;
314 
315 
316  values[0] = xi0*eta0;
317  values[1] = xi1*eta0;
318  values[2] = xi2*eta0;
319  values[3] = xi3*eta0;
320  values[4] = xi4*eta0;
321  values[5] = xi5*eta0;
322  values[6] = xi6*eta0;
323  values[7] = xi0*eta1;
324  values[8] = xi1*eta1;
325  values[9] = xi2*eta1;
326  values[10] = xi3*eta1;
327  values[11] = xi4*eta1;
328  values[12] = xi5*eta1;
329  values[13] = xi6*eta1;
330  values[14] = xi0*eta2;
331  values[15] = xi1*eta2;
332  values[16] = xi2*eta2;
333  values[17] = xi3*eta2;
334  values[18] = xi4*eta2;
335  values[19] = xi5*eta2;
336  values[20] = xi6*eta2;
337  values[21] = xi0*eta3;
338  values[22] = xi1*eta3;
339  values[23] = xi2*eta3;
340  values[24] = xi3*eta3;
341  values[25] = xi4*eta3;
342  values[26] = xi5*eta3;
343  values[27] = xi6*eta3;
344  values[28] = xi0*eta4;
345  values[29] = xi1*eta4;
346  values[30] = xi2*eta4;
347  values[31] = xi3*eta4;
348  values[32] = xi4*eta4;
349  values[33] = xi5*eta4;
350  values[34] = xi6*eta4;
351  values[35] = xi0*eta5;
352  values[36] = xi1*eta5;
353  values[37] = xi2*eta5;
354  values[38] = xi3*eta5;
355  values[39] = xi4*eta5;
356  values[40] = xi5*eta5;
357  values[41] = xi6*eta5;
358  values[42] = xi0*eta6;
359  values[43] = xi1*eta6;
360  values[44] = xi2*eta6;
361  values[45] = xi3*eta6;
362  values[46] = xi4*eta6;
363  values[47] = xi5*eta6;
364  values[48] = xi6*eta6;
365 }
366 
367 // values of the derivatives in eta-eta direction
368 static void C_Q_Q6_2D_DeriveEtaEta(double xi, double eta, double *values)
369 {
370 
371  double xi0= 0.10125E1*xi*xi*xi*xi*xi*xi-0.10125E1*xi*xi*xi*xi*xi-0.5625*xi*xi*xi*xi+0.5625*xi*xi*xi+0.5E-1*xi*xi-0.5E-1*xi;
372  double xi1= -0.6075E1*xi*xi*xi*xi*xi*xi+0.405E1*xi*xi*xi*xi*xi+0.675E1*xi*xi*xi*xi-0.45E1*xi*xi*xi-0.675*xi*xi+0.45*xi;
373  double xi2= 0.151875E2*xi*xi*xi*xi*xi*xi-0.50625E1*xi*xi*xi*xi*xi-0.219375E2*xi*xi*xi*xi+0.73125E1*xi*xi*xi+0.675E1*xi*xi-0.225E1*xi;
374  double xi3= -0.2025E2*xi*xi*xi*xi*xi*xi+0.315E2*xi*xi*xi*xi-0.1225E2*xi*xi+1.0;
375  double xi4= 0.151875E2*xi*xi*xi*xi*xi*xi+0.50625E1*xi*xi*xi*xi*xi-0.219375E2*xi*xi*xi*xi-0.73125E1*xi*xi*xi+0.675E1*xi*xi+0.225E1*xi;
376  double xi5= -0.6075E1*xi*xi*xi*xi*xi*xi-0.405E1*xi*xi*xi*xi*xi+0.675E1*xi*xi*xi*xi+0.45E1*xi*xi*xi-0.675*xi*xi-0.45*xi;
377  double xi6= 0.10125E1*xi*xi*xi*xi*xi*xi+0.10125E1*xi*xi*xi*xi*xi-0.5625*xi*xi*xi*xi-0.5625*xi*xi*xi+0.5E-1*xi*xi+0.5E-1*xi;
378 
379  double eta0= 0.30375E2*eta*eta*eta*eta-0.2025E2*eta*eta*eta-0.675E1*eta*eta+0.3375E1*eta+0.1;
380  double eta1= -0.18225E3*eta*eta*eta*eta+0.81E2*eta*eta*eta+0.81E2*eta*eta-0.27E2*eta-0.135E1;
381  double eta2= 0.455625E3*eta*eta*eta*eta-0.10125E3*eta*eta*eta-0.26325E3*eta*eta+0.43875E2*eta+0.135E2;
382  double eta3= -0.6075E3*eta*eta*eta*eta+0.378E3*eta*eta-0.245E2;
383  double eta4= 0.455625E3*eta*eta*eta*eta+0.10125E3*eta*eta*eta-0.26325E3*eta*eta-0.43875E2*eta+0.135E2;
384  double eta5= -0.18225E3*eta*eta*eta*eta-0.81E2*eta*eta*eta+0.81E2*eta*eta+0.27E2*eta-0.135E1;
385  double eta6= 0.30375E2*eta*eta*eta*eta+0.2025E2*eta*eta*eta-0.675E1*eta*eta-0.3375E1*eta+0.1;
386 
387 
388  values[0] = xi0*eta0;
389  values[1] = xi1*eta0;
390  values[2] = xi2*eta0;
391  values[3] = xi3*eta0;
392  values[4] = xi4*eta0;
393  values[5] = xi5*eta0;
394  values[6] = xi6*eta0;
395  values[7] = xi0*eta1;
396  values[8] = xi1*eta1;
397  values[9] = xi2*eta1;
398  values[10] = xi3*eta1;
399  values[11] = xi4*eta1;
400  values[12] = xi5*eta1;
401  values[13] = xi6*eta1;
402  values[14] = xi0*eta2;
403  values[15] = xi1*eta2;
404  values[16] = xi2*eta2;
405  values[17] = xi3*eta2;
406  values[18] = xi4*eta2;
407  values[19] = xi5*eta2;
408  values[20] = xi6*eta2;
409  values[21] = xi0*eta3;
410  values[22] = xi1*eta3;
411  values[23] = xi2*eta3;
412  values[24] = xi3*eta3;
413  values[25] = xi4*eta3;
414  values[26] = xi5*eta3;
415  values[27] = xi6*eta3;
416  values[28] = xi0*eta4;
417  values[29] = xi1*eta4;
418  values[30] = xi2*eta4;
419  values[31] = xi3*eta4;
420  values[32] = xi4*eta4;
421  values[33] = xi5*eta4;
422  values[34] = xi6*eta4;
423  values[35] = xi0*eta5;
424  values[36] = xi1*eta5;
425  values[37] = xi2*eta5;
426  values[38] = xi3*eta5;
427  values[39] = xi4*eta5;
428  values[40] = xi5*eta5;
429  values[41] = xi6*eta5;
430  values[42] = xi0*eta6;
431  values[43] = xi1*eta6;
432  values[44] = xi2*eta6;
433  values[45] = xi3*eta6;
434  values[46] = xi4*eta6;
435  values[47] = xi5*eta6;
436  values[48] = xi6*eta6;
437 }
438 
439 
440 // ***********************************************************************
441 
442 TBaseFunct2D *BF_C_Q_Q6_2D_Obj = new TBaseFunct2D
443  (49, BF_C_Q_Q6_2D, BFUnitSquare,
444  C_Q_Q6_2D_Funct, C_Q_Q6_2D_DeriveXi,
445  C_Q_Q6_2D_DeriveEta, C_Q_Q6_2D_DeriveXiXi,
446  C_Q_Q6_2D_DeriveXiEta, C_Q_Q6_2D_DeriveEtaEta, 6, 6,
447  0, NULL);
Definition: BaseFunct2D.h:27