1
// This code conforms with the UFC specification version 2.0.0
2
// and was automatically generated by FFC version 1.0-beta.
1
// This code conforms with the UFC specification version 2.0.2
2
// and was automatically generated by FFC version 1.0-beta+.
4
4
// This code was generated with the following parameters:
130
130
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
132
132
// Declare helper variables.
139
133
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
140
134
double tmp1 = (1.0 - Y)/2.0;
141
135
double tmp2 = tmp1*tmp1;
143
137
// Compute basisvalues.
144
138
basisvalues[0] = 1.0;
145
139
basisvalues[1] = tmp0;
146
for (unsigned int r = 1; r < 3; r++)
148
rr = (r + 1)*((r + 1) + 1)/2;
150
tt = (r - 1)*((r - 1) + 1)/2;
151
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
152
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
153
}// end loop over 'r'
154
for (unsigned int r = 0; r < 3; r++)
156
rr = (r + 1)*(r + 1 + 1)/2 + 1;
158
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
159
}// end loop over 'r'
160
for (unsigned int r = 0; r < 2; r++)
162
for (unsigned int s = 1; s < 3 - r; s++)
164
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
165
ss = (r + s)*(r + s + 1)/2 + s;
166
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
167
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
168
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
169
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
170
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
171
}// end loop over 's'
172
}// end loop over 'r'
173
for (unsigned int r = 0; r < 4; r++)
175
for (unsigned int s = 0; s < 4 - r; s++)
177
rr = (r + s)*(r + s + 1)/2 + s;
178
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
179
}// end loop over 's'
180
}// end loop over 'r'
140
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
141
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
142
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
143
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
144
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
145
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
146
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
147
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
148
basisvalues[0] *= std::sqrt(0.5);
149
basisvalues[2] *= std::sqrt(1.0);
150
basisvalues[5] *= std::sqrt(1.5);
151
basisvalues[9] *= std::sqrt(2.0);
152
basisvalues[1] *= std::sqrt(3.0);
153
basisvalues[4] *= std::sqrt(4.5);
154
basisvalues[8] *= std::sqrt(6.0);
155
basisvalues[3] *= std::sqrt(7.5);
156
basisvalues[7] *= std::sqrt(10.0);
157
basisvalues[6] *= std::sqrt(14.0);
182
159
// Table(s) of coefficients.
183
160
static const double coefficients0[10] = \
197
174
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
199
176
// Declare helper variables.
206
177
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
207
178
double tmp1 = (1.0 - Y)/2.0;
208
179
double tmp2 = tmp1*tmp1;
210
181
// Compute basisvalues.
211
182
basisvalues[0] = 1.0;
212
183
basisvalues[1] = tmp0;
213
for (unsigned int r = 1; r < 3; r++)
215
rr = (r + 1)*((r + 1) + 1)/2;
217
tt = (r - 1)*((r - 1) + 1)/2;
218
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
219
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
220
}// end loop over 'r'
221
for (unsigned int r = 0; r < 3; r++)
223
rr = (r + 1)*(r + 1 + 1)/2 + 1;
225
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
226
}// end loop over 'r'
227
for (unsigned int r = 0; r < 2; r++)
229
for (unsigned int s = 1; s < 3 - r; s++)
231
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
232
ss = (r + s)*(r + s + 1)/2 + s;
233
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
234
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
235
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
236
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
237
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
238
}// end loop over 's'
239
}// end loop over 'r'
240
for (unsigned int r = 0; r < 4; r++)
242
for (unsigned int s = 0; s < 4 - r; s++)
244
rr = (r + s)*(r + s + 1)/2 + s;
245
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
246
}// end loop over 's'
247
}// end loop over 'r'
184
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
185
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
186
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
187
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
188
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
189
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
190
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
191
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
192
basisvalues[0] *= std::sqrt(0.5);
193
basisvalues[2] *= std::sqrt(1.0);
194
basisvalues[5] *= std::sqrt(1.5);
195
basisvalues[9] *= std::sqrt(2.0);
196
basisvalues[1] *= std::sqrt(3.0);
197
basisvalues[4] *= std::sqrt(4.5);
198
basisvalues[8] *= std::sqrt(6.0);
199
basisvalues[3] *= std::sqrt(7.5);
200
basisvalues[7] *= std::sqrt(10.0);
201
basisvalues[6] *= std::sqrt(14.0);
249
203
// Table(s) of coefficients.
250
204
static const double coefficients0[10] = \
264
218
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
266
220
// Declare helper variables.
273
221
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
274
222
double tmp1 = (1.0 - Y)/2.0;
275
223
double tmp2 = tmp1*tmp1;
277
225
// Compute basisvalues.
278
226
basisvalues[0] = 1.0;
279
227
basisvalues[1] = tmp0;
280
for (unsigned int r = 1; r < 3; r++)
282
rr = (r + 1)*((r + 1) + 1)/2;
284
tt = (r - 1)*((r - 1) + 1)/2;
285
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
286
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
287
}// end loop over 'r'
288
for (unsigned int r = 0; r < 3; r++)
290
rr = (r + 1)*(r + 1 + 1)/2 + 1;
292
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
293
}// end loop over 'r'
294
for (unsigned int r = 0; r < 2; r++)
296
for (unsigned int s = 1; s < 3 - r; s++)
298
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
299
ss = (r + s)*(r + s + 1)/2 + s;
300
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
301
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
302
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
303
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
304
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
305
}// end loop over 's'
306
}// end loop over 'r'
307
for (unsigned int r = 0; r < 4; r++)
309
for (unsigned int s = 0; s < 4 - r; s++)
311
rr = (r + s)*(r + s + 1)/2 + s;
312
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
313
}// end loop over 's'
314
}// end loop over 'r'
228
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
229
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
230
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
231
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
232
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
233
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
234
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
235
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
236
basisvalues[0] *= std::sqrt(0.5);
237
basisvalues[2] *= std::sqrt(1.0);
238
basisvalues[5] *= std::sqrt(1.5);
239
basisvalues[9] *= std::sqrt(2.0);
240
basisvalues[1] *= std::sqrt(3.0);
241
basisvalues[4] *= std::sqrt(4.5);
242
basisvalues[8] *= std::sqrt(6.0);
243
basisvalues[3] *= std::sqrt(7.5);
244
basisvalues[7] *= std::sqrt(10.0);
245
basisvalues[6] *= std::sqrt(14.0);
316
247
// Table(s) of coefficients.
317
248
static const double coefficients0[10] = \
331
262
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
333
264
// Declare helper variables.
340
265
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
341
266
double tmp1 = (1.0 - Y)/2.0;
342
267
double tmp2 = tmp1*tmp1;
344
269
// Compute basisvalues.
345
270
basisvalues[0] = 1.0;
346
271
basisvalues[1] = tmp0;
347
for (unsigned int r = 1; r < 3; r++)
349
rr = (r + 1)*((r + 1) + 1)/2;
351
tt = (r - 1)*((r - 1) + 1)/2;
352
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
353
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
354
}// end loop over 'r'
355
for (unsigned int r = 0; r < 3; r++)
357
rr = (r + 1)*(r + 1 + 1)/2 + 1;
359
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
360
}// end loop over 'r'
361
for (unsigned int r = 0; r < 2; r++)
363
for (unsigned int s = 1; s < 3 - r; s++)
365
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
366
ss = (r + s)*(r + s + 1)/2 + s;
367
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
368
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
369
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
370
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
371
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
372
}// end loop over 's'
373
}// end loop over 'r'
374
for (unsigned int r = 0; r < 4; r++)
376
for (unsigned int s = 0; s < 4 - r; s++)
378
rr = (r + s)*(r + s + 1)/2 + s;
379
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
380
}// end loop over 's'
381
}// end loop over 'r'
272
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
273
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
274
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
275
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
276
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
277
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
278
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
279
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
280
basisvalues[0] *= std::sqrt(0.5);
281
basisvalues[2] *= std::sqrt(1.0);
282
basisvalues[5] *= std::sqrt(1.5);
283
basisvalues[9] *= std::sqrt(2.0);
284
basisvalues[1] *= std::sqrt(3.0);
285
basisvalues[4] *= std::sqrt(4.5);
286
basisvalues[8] *= std::sqrt(6.0);
287
basisvalues[3] *= std::sqrt(7.5);
288
basisvalues[7] *= std::sqrt(10.0);
289
basisvalues[6] *= std::sqrt(14.0);
383
291
// Table(s) of coefficients.
384
292
static const double coefficients0[10] = \
398
306
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
400
308
// Declare helper variables.
407
309
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
408
310
double tmp1 = (1.0 - Y)/2.0;
409
311
double tmp2 = tmp1*tmp1;
411
313
// Compute basisvalues.
412
314
basisvalues[0] = 1.0;
413
315
basisvalues[1] = tmp0;
414
for (unsigned int r = 1; r < 3; r++)
416
rr = (r + 1)*((r + 1) + 1)/2;
418
tt = (r - 1)*((r - 1) + 1)/2;
419
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
420
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
421
}// end loop over 'r'
422
for (unsigned int r = 0; r < 3; r++)
424
rr = (r + 1)*(r + 1 + 1)/2 + 1;
426
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
427
}// end loop over 'r'
428
for (unsigned int r = 0; r < 2; r++)
430
for (unsigned int s = 1; s < 3 - r; s++)
432
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
433
ss = (r + s)*(r + s + 1)/2 + s;
434
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
435
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
436
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
437
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
438
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
439
}// end loop over 's'
440
}// end loop over 'r'
441
for (unsigned int r = 0; r < 4; r++)
443
for (unsigned int s = 0; s < 4 - r; s++)
445
rr = (r + s)*(r + s + 1)/2 + s;
446
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
447
}// end loop over 's'
448
}// end loop over 'r'
316
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
317
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
318
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
319
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
320
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
321
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
322
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
323
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
324
basisvalues[0] *= std::sqrt(0.5);
325
basisvalues[2] *= std::sqrt(1.0);
326
basisvalues[5] *= std::sqrt(1.5);
327
basisvalues[9] *= std::sqrt(2.0);
328
basisvalues[1] *= std::sqrt(3.0);
329
basisvalues[4] *= std::sqrt(4.5);
330
basisvalues[8] *= std::sqrt(6.0);
331
basisvalues[3] *= std::sqrt(7.5);
332
basisvalues[7] *= std::sqrt(10.0);
333
basisvalues[6] *= std::sqrt(14.0);
450
335
// Table(s) of coefficients.
451
336
static const double coefficients0[10] = \
465
350
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
467
352
// Declare helper variables.
474
353
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
475
354
double tmp1 = (1.0 - Y)/2.0;
476
355
double tmp2 = tmp1*tmp1;
478
357
// Compute basisvalues.
479
358
basisvalues[0] = 1.0;
480
359
basisvalues[1] = tmp0;
481
for (unsigned int r = 1; r < 3; r++)
483
rr = (r + 1)*((r + 1) + 1)/2;
485
tt = (r - 1)*((r - 1) + 1)/2;
486
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
487
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
488
}// end loop over 'r'
489
for (unsigned int r = 0; r < 3; r++)
491
rr = (r + 1)*(r + 1 + 1)/2 + 1;
493
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
494
}// end loop over 'r'
495
for (unsigned int r = 0; r < 2; r++)
497
for (unsigned int s = 1; s < 3 - r; s++)
499
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
500
ss = (r + s)*(r + s + 1)/2 + s;
501
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
502
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
503
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
504
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
505
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
506
}// end loop over 's'
507
}// end loop over 'r'
508
for (unsigned int r = 0; r < 4; r++)
510
for (unsigned int s = 0; s < 4 - r; s++)
512
rr = (r + s)*(r + s + 1)/2 + s;
513
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
514
}// end loop over 's'
515
}// end loop over 'r'
360
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
361
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
362
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
363
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
364
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
365
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
366
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
367
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
368
basisvalues[0] *= std::sqrt(0.5);
369
basisvalues[2] *= std::sqrt(1.0);
370
basisvalues[5] *= std::sqrt(1.5);
371
basisvalues[9] *= std::sqrt(2.0);
372
basisvalues[1] *= std::sqrt(3.0);
373
basisvalues[4] *= std::sqrt(4.5);
374
basisvalues[8] *= std::sqrt(6.0);
375
basisvalues[3] *= std::sqrt(7.5);
376
basisvalues[7] *= std::sqrt(10.0);
377
basisvalues[6] *= std::sqrt(14.0);
517
379
// Table(s) of coefficients.
518
380
static const double coefficients0[10] = \
532
394
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
534
396
// Declare helper variables.
541
397
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
542
398
double tmp1 = (1.0 - Y)/2.0;
543
399
double tmp2 = tmp1*tmp1;
545
401
// Compute basisvalues.
546
402
basisvalues[0] = 1.0;
547
403
basisvalues[1] = tmp0;
548
for (unsigned int r = 1; r < 3; r++)
550
rr = (r + 1)*((r + 1) + 1)/2;
552
tt = (r - 1)*((r - 1) + 1)/2;
553
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
554
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
555
}// end loop over 'r'
556
for (unsigned int r = 0; r < 3; r++)
558
rr = (r + 1)*(r + 1 + 1)/2 + 1;
560
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
561
}// end loop over 'r'
562
for (unsigned int r = 0; r < 2; r++)
564
for (unsigned int s = 1; s < 3 - r; s++)
566
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
567
ss = (r + s)*(r + s + 1)/2 + s;
568
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
569
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
570
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
571
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
572
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
573
}// end loop over 's'
574
}// end loop over 'r'
575
for (unsigned int r = 0; r < 4; r++)
577
for (unsigned int s = 0; s < 4 - r; s++)
579
rr = (r + s)*(r + s + 1)/2 + s;
580
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
581
}// end loop over 's'
582
}// end loop over 'r'
404
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
405
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
406
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
407
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
408
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
409
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
410
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
411
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
412
basisvalues[0] *= std::sqrt(0.5);
413
basisvalues[2] *= std::sqrt(1.0);
414
basisvalues[5] *= std::sqrt(1.5);
415
basisvalues[9] *= std::sqrt(2.0);
416
basisvalues[1] *= std::sqrt(3.0);
417
basisvalues[4] *= std::sqrt(4.5);
418
basisvalues[8] *= std::sqrt(6.0);
419
basisvalues[3] *= std::sqrt(7.5);
420
basisvalues[7] *= std::sqrt(10.0);
421
basisvalues[6] *= std::sqrt(14.0);
584
423
// Table(s) of coefficients.
585
424
static const double coefficients0[10] = \
599
438
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
601
440
// Declare helper variables.
608
441
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
609
442
double tmp1 = (1.0 - Y)/2.0;
610
443
double tmp2 = tmp1*tmp1;
612
445
// Compute basisvalues.
613
446
basisvalues[0] = 1.0;
614
447
basisvalues[1] = tmp0;
615
for (unsigned int r = 1; r < 3; r++)
617
rr = (r + 1)*((r + 1) + 1)/2;
619
tt = (r - 1)*((r - 1) + 1)/2;
620
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
621
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
622
}// end loop over 'r'
623
for (unsigned int r = 0; r < 3; r++)
625
rr = (r + 1)*(r + 1 + 1)/2 + 1;
627
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
628
}// end loop over 'r'
629
for (unsigned int r = 0; r < 2; r++)
631
for (unsigned int s = 1; s < 3 - r; s++)
633
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
634
ss = (r + s)*(r + s + 1)/2 + s;
635
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
636
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
637
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
638
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
639
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
640
}// end loop over 's'
641
}// end loop over 'r'
642
for (unsigned int r = 0; r < 4; r++)
644
for (unsigned int s = 0; s < 4 - r; s++)
646
rr = (r + s)*(r + s + 1)/2 + s;
647
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
648
}// end loop over 's'
649
}// end loop over 'r'
448
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
449
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
450
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
451
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
452
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
453
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
454
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
455
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
456
basisvalues[0] *= std::sqrt(0.5);
457
basisvalues[2] *= std::sqrt(1.0);
458
basisvalues[5] *= std::sqrt(1.5);
459
basisvalues[9] *= std::sqrt(2.0);
460
basisvalues[1] *= std::sqrt(3.0);
461
basisvalues[4] *= std::sqrt(4.5);
462
basisvalues[8] *= std::sqrt(6.0);
463
basisvalues[3] *= std::sqrt(7.5);
464
basisvalues[7] *= std::sqrt(10.0);
465
basisvalues[6] *= std::sqrt(14.0);
651
467
// Table(s) of coefficients.
652
468
static const double coefficients0[10] = \
666
482
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
668
484
// Declare helper variables.
675
485
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
676
486
double tmp1 = (1.0 - Y)/2.0;
677
487
double tmp2 = tmp1*tmp1;
679
489
// Compute basisvalues.
680
490
basisvalues[0] = 1.0;
681
491
basisvalues[1] = tmp0;
682
for (unsigned int r = 1; r < 3; r++)
684
rr = (r + 1)*((r + 1) + 1)/2;
686
tt = (r - 1)*((r - 1) + 1)/2;
687
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
688
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
689
}// end loop over 'r'
690
for (unsigned int r = 0; r < 3; r++)
692
rr = (r + 1)*(r + 1 + 1)/2 + 1;
694
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
695
}// end loop over 'r'
696
for (unsigned int r = 0; r < 2; r++)
698
for (unsigned int s = 1; s < 3 - r; s++)
700
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
701
ss = (r + s)*(r + s + 1)/2 + s;
702
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
703
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
704
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
705
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
706
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
707
}// end loop over 's'
708
}// end loop over 'r'
709
for (unsigned int r = 0; r < 4; r++)
711
for (unsigned int s = 0; s < 4 - r; s++)
713
rr = (r + s)*(r + s + 1)/2 + s;
714
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
715
}// end loop over 's'
716
}// end loop over 'r'
492
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
493
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
494
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
495
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
496
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
497
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
498
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
499
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
500
basisvalues[0] *= std::sqrt(0.5);
501
basisvalues[2] *= std::sqrt(1.0);
502
basisvalues[5] *= std::sqrt(1.5);
503
basisvalues[9] *= std::sqrt(2.0);
504
basisvalues[1] *= std::sqrt(3.0);
505
basisvalues[4] *= std::sqrt(4.5);
506
basisvalues[8] *= std::sqrt(6.0);
507
basisvalues[3] *= std::sqrt(7.5);
508
basisvalues[7] *= std::sqrt(10.0);
509
basisvalues[6] *= std::sqrt(14.0);
718
511
// Table(s) of coefficients.
719
512
static const double coefficients0[10] = \
733
526
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
735
528
// Declare helper variables.
742
529
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
743
530
double tmp1 = (1.0 - Y)/2.0;
744
531
double tmp2 = tmp1*tmp1;
746
533
// Compute basisvalues.
747
534
basisvalues[0] = 1.0;
748
535
basisvalues[1] = tmp0;
749
for (unsigned int r = 1; r < 3; r++)
751
rr = (r + 1)*((r + 1) + 1)/2;
753
tt = (r - 1)*((r - 1) + 1)/2;
754
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
755
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
756
}// end loop over 'r'
757
for (unsigned int r = 0; r < 3; r++)
759
rr = (r + 1)*(r + 1 + 1)/2 + 1;
761
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
762
}// end loop over 'r'
763
for (unsigned int r = 0; r < 2; r++)
765
for (unsigned int s = 1; s < 3 - r; s++)
767
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
768
ss = (r + s)*(r + s + 1)/2 + s;
769
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
770
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
771
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
772
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
773
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
774
}// end loop over 's'
775
}// end loop over 'r'
776
for (unsigned int r = 0; r < 4; r++)
778
for (unsigned int s = 0; s < 4 - r; s++)
780
rr = (r + s)*(r + s + 1)/2 + s;
781
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
782
}// end loop over 's'
783
}// end loop over 'r'
536
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
537
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
538
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
539
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
540
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
541
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
542
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
543
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
544
basisvalues[0] *= std::sqrt(0.5);
545
basisvalues[2] *= std::sqrt(1.0);
546
basisvalues[5] *= std::sqrt(1.5);
547
basisvalues[9] *= std::sqrt(2.0);
548
basisvalues[1] *= std::sqrt(3.0);
549
basisvalues[4] *= std::sqrt(4.5);
550
basisvalues[8] *= std::sqrt(6.0);
551
basisvalues[3] *= std::sqrt(7.5);
552
basisvalues[7] *= std::sqrt(10.0);
553
basisvalues[6] *= std::sqrt(14.0);
785
555
// Table(s) of coefficients.
786
556
static const double coefficients0[10] = \
919
689
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
921
691
// Declare helper variables.
928
692
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
929
693
double tmp1 = (1.0 - Y)/2.0;
930
694
double tmp2 = tmp1*tmp1;
932
696
// Compute basisvalues.
933
697
basisvalues[0] = 1.0;
934
698
basisvalues[1] = tmp0;
935
for (unsigned int r = 1; r < 3; r++)
937
rr = (r + 1)*((r + 1) + 1)/2;
939
tt = (r - 1)*((r - 1) + 1)/2;
940
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
941
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
942
}// end loop over 'r'
943
for (unsigned int r = 0; r < 3; r++)
945
rr = (r + 1)*(r + 1 + 1)/2 + 1;
947
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
948
}// end loop over 'r'
949
for (unsigned int r = 0; r < 2; r++)
951
for (unsigned int s = 1; s < 3 - r; s++)
953
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
954
ss = (r + s)*(r + s + 1)/2 + s;
955
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
956
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
957
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
958
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
959
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
960
}// end loop over 's'
961
}// end loop over 'r'
962
for (unsigned int r = 0; r < 4; r++)
964
for (unsigned int s = 0; s < 4 - r; s++)
966
rr = (r + s)*(r + s + 1)/2 + s;
967
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
968
}// end loop over 's'
969
}// end loop over 'r'
699
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
700
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
701
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
702
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
703
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
704
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
705
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
706
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
707
basisvalues[0] *= std::sqrt(0.5);
708
basisvalues[2] *= std::sqrt(1.0);
709
basisvalues[5] *= std::sqrt(1.5);
710
basisvalues[9] *= std::sqrt(2.0);
711
basisvalues[1] *= std::sqrt(3.0);
712
basisvalues[4] *= std::sqrt(4.5);
713
basisvalues[8] *= std::sqrt(6.0);
714
basisvalues[3] *= std::sqrt(7.5);
715
basisvalues[7] *= std::sqrt(10.0);
716
basisvalues[6] *= std::sqrt(14.0);
971
718
// Table(s) of coefficients.
972
719
static const double coefficients0[10] = \
1132
879
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1134
881
// Declare helper variables.
1135
unsigned int rr = 0;
1136
unsigned int ss = 0;
1137
unsigned int tt = 0;
1141
882
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1142
883
double tmp1 = (1.0 - Y)/2.0;
1143
884
double tmp2 = tmp1*tmp1;
1145
886
// Compute basisvalues.
1146
887
basisvalues[0] = 1.0;
1147
888
basisvalues[1] = tmp0;
1148
for (unsigned int r = 1; r < 3; r++)
1150
rr = (r + 1)*((r + 1) + 1)/2;
1152
tt = (r - 1)*((r - 1) + 1)/2;
1153
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1154
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1155
}// end loop over 'r'
1156
for (unsigned int r = 0; r < 3; r++)
1158
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1160
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1161
}// end loop over 'r'
1162
for (unsigned int r = 0; r < 2; r++)
1164
for (unsigned int s = 1; s < 3 - r; s++)
1166
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1167
ss = (r + s)*(r + s + 1)/2 + s;
1168
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1169
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1170
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1171
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1172
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1173
}// end loop over 's'
1174
}// end loop over 'r'
1175
for (unsigned int r = 0; r < 4; r++)
1177
for (unsigned int s = 0; s < 4 - r; s++)
1179
rr = (r + s)*(r + s + 1)/2 + s;
1180
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1181
}// end loop over 's'
1182
}// end loop over 'r'
889
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
890
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
891
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
892
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
893
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
894
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
895
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
896
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
897
basisvalues[0] *= std::sqrt(0.5);
898
basisvalues[2] *= std::sqrt(1.0);
899
basisvalues[5] *= std::sqrt(1.5);
900
basisvalues[9] *= std::sqrt(2.0);
901
basisvalues[1] *= std::sqrt(3.0);
902
basisvalues[4] *= std::sqrt(4.5);
903
basisvalues[8] *= std::sqrt(6.0);
904
basisvalues[3] *= std::sqrt(7.5);
905
basisvalues[7] *= std::sqrt(10.0);
906
basisvalues[6] *= std::sqrt(14.0);
1184
908
// Table(s) of coefficients.
1185
909
static const double coefficients0[10] = \
1345
1069
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1347
1071
// Declare helper variables.
1348
unsigned int rr = 0;
1349
unsigned int ss = 0;
1350
unsigned int tt = 0;
1354
1072
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1355
1073
double tmp1 = (1.0 - Y)/2.0;
1356
1074
double tmp2 = tmp1*tmp1;
1358
1076
// Compute basisvalues.
1359
1077
basisvalues[0] = 1.0;
1360
1078
basisvalues[1] = tmp0;
1361
for (unsigned int r = 1; r < 3; r++)
1363
rr = (r + 1)*((r + 1) + 1)/2;
1365
tt = (r - 1)*((r - 1) + 1)/2;
1366
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1367
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1368
}// end loop over 'r'
1369
for (unsigned int r = 0; r < 3; r++)
1371
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1373
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1374
}// end loop over 'r'
1375
for (unsigned int r = 0; r < 2; r++)
1377
for (unsigned int s = 1; s < 3 - r; s++)
1379
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1380
ss = (r + s)*(r + s + 1)/2 + s;
1381
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1382
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1383
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1384
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1385
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1386
}// end loop over 's'
1387
}// end loop over 'r'
1388
for (unsigned int r = 0; r < 4; r++)
1390
for (unsigned int s = 0; s < 4 - r; s++)
1392
rr = (r + s)*(r + s + 1)/2 + s;
1393
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1394
}// end loop over 's'
1395
}// end loop over 'r'
1079
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1080
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1081
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1082
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1083
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1084
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1085
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1086
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1087
basisvalues[0] *= std::sqrt(0.5);
1088
basisvalues[2] *= std::sqrt(1.0);
1089
basisvalues[5] *= std::sqrt(1.5);
1090
basisvalues[9] *= std::sqrt(2.0);
1091
basisvalues[1] *= std::sqrt(3.0);
1092
basisvalues[4] *= std::sqrt(4.5);
1093
basisvalues[8] *= std::sqrt(6.0);
1094
basisvalues[3] *= std::sqrt(7.5);
1095
basisvalues[7] *= std::sqrt(10.0);
1096
basisvalues[6] *= std::sqrt(14.0);
1397
1098
// Table(s) of coefficients.
1398
1099
static const double coefficients0[10] = \
1558
1259
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1560
1261
// Declare helper variables.
1561
unsigned int rr = 0;
1562
unsigned int ss = 0;
1563
unsigned int tt = 0;
1567
1262
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1568
1263
double tmp1 = (1.0 - Y)/2.0;
1569
1264
double tmp2 = tmp1*tmp1;
1571
1266
// Compute basisvalues.
1572
1267
basisvalues[0] = 1.0;
1573
1268
basisvalues[1] = tmp0;
1574
for (unsigned int r = 1; r < 3; r++)
1576
rr = (r + 1)*((r + 1) + 1)/2;
1578
tt = (r - 1)*((r - 1) + 1)/2;
1579
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1580
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1581
}// end loop over 'r'
1582
for (unsigned int r = 0; r < 3; r++)
1584
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1586
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1587
}// end loop over 'r'
1588
for (unsigned int r = 0; r < 2; r++)
1590
for (unsigned int s = 1; s < 3 - r; s++)
1592
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1593
ss = (r + s)*(r + s + 1)/2 + s;
1594
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1595
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1596
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1597
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1598
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1599
}// end loop over 's'
1600
}// end loop over 'r'
1601
for (unsigned int r = 0; r < 4; r++)
1603
for (unsigned int s = 0; s < 4 - r; s++)
1605
rr = (r + s)*(r + s + 1)/2 + s;
1606
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1607
}// end loop over 's'
1608
}// end loop over 'r'
1269
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1270
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1271
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1272
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1273
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1274
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1275
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1276
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1277
basisvalues[0] *= std::sqrt(0.5);
1278
basisvalues[2] *= std::sqrt(1.0);
1279
basisvalues[5] *= std::sqrt(1.5);
1280
basisvalues[9] *= std::sqrt(2.0);
1281
basisvalues[1] *= std::sqrt(3.0);
1282
basisvalues[4] *= std::sqrt(4.5);
1283
basisvalues[8] *= std::sqrt(6.0);
1284
basisvalues[3] *= std::sqrt(7.5);
1285
basisvalues[7] *= std::sqrt(10.0);
1286
basisvalues[6] *= std::sqrt(14.0);
1610
1288
// Table(s) of coefficients.
1611
1289
static const double coefficients0[10] = \
1771
1449
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1773
1451
// Declare helper variables.
1774
unsigned int rr = 0;
1775
unsigned int ss = 0;
1776
unsigned int tt = 0;
1780
1452
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1781
1453
double tmp1 = (1.0 - Y)/2.0;
1782
1454
double tmp2 = tmp1*tmp1;
1784
1456
// Compute basisvalues.
1785
1457
basisvalues[0] = 1.0;
1786
1458
basisvalues[1] = tmp0;
1787
for (unsigned int r = 1; r < 3; r++)
1789
rr = (r + 1)*((r + 1) + 1)/2;
1791
tt = (r - 1)*((r - 1) + 1)/2;
1792
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1793
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1794
}// end loop over 'r'
1795
for (unsigned int r = 0; r < 3; r++)
1797
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1799
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1800
}// end loop over 'r'
1801
for (unsigned int r = 0; r < 2; r++)
1803
for (unsigned int s = 1; s < 3 - r; s++)
1805
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1806
ss = (r + s)*(r + s + 1)/2 + s;
1807
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1808
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1809
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1810
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1811
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1812
}// end loop over 's'
1813
}// end loop over 'r'
1814
for (unsigned int r = 0; r < 4; r++)
1816
for (unsigned int s = 0; s < 4 - r; s++)
1818
rr = (r + s)*(r + s + 1)/2 + s;
1819
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1820
}// end loop over 's'
1821
}// end loop over 'r'
1459
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1460
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1461
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1462
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1463
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1464
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1465
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1466
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1467
basisvalues[0] *= std::sqrt(0.5);
1468
basisvalues[2] *= std::sqrt(1.0);
1469
basisvalues[5] *= std::sqrt(1.5);
1470
basisvalues[9] *= std::sqrt(2.0);
1471
basisvalues[1] *= std::sqrt(3.0);
1472
basisvalues[4] *= std::sqrt(4.5);
1473
basisvalues[8] *= std::sqrt(6.0);
1474
basisvalues[3] *= std::sqrt(7.5);
1475
basisvalues[7] *= std::sqrt(10.0);
1476
basisvalues[6] *= std::sqrt(14.0);
1823
1478
// Table(s) of coefficients.
1824
1479
static const double coefficients0[10] = \
1984
1639
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1986
1641
// Declare helper variables.
1987
unsigned int rr = 0;
1988
unsigned int ss = 0;
1989
unsigned int tt = 0;
1993
1642
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1994
1643
double tmp1 = (1.0 - Y)/2.0;
1995
1644
double tmp2 = tmp1*tmp1;
1997
1646
// Compute basisvalues.
1998
1647
basisvalues[0] = 1.0;
1999
1648
basisvalues[1] = tmp0;
2000
for (unsigned int r = 1; r < 3; r++)
2002
rr = (r + 1)*((r + 1) + 1)/2;
2004
tt = (r - 1)*((r - 1) + 1)/2;
2005
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2006
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2007
}// end loop over 'r'
2008
for (unsigned int r = 0; r < 3; r++)
2010
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2012
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2013
}// end loop over 'r'
2014
for (unsigned int r = 0; r < 2; r++)
2016
for (unsigned int s = 1; s < 3 - r; s++)
2018
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2019
ss = (r + s)*(r + s + 1)/2 + s;
2020
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2021
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2022
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2023
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2024
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2025
}// end loop over 's'
2026
}// end loop over 'r'
2027
for (unsigned int r = 0; r < 4; r++)
2029
for (unsigned int s = 0; s < 4 - r; s++)
2031
rr = (r + s)*(r + s + 1)/2 + s;
2032
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2033
}// end loop over 's'
2034
}// end loop over 'r'
1649
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1650
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1651
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1652
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1653
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1654
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1655
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1656
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1657
basisvalues[0] *= std::sqrt(0.5);
1658
basisvalues[2] *= std::sqrt(1.0);
1659
basisvalues[5] *= std::sqrt(1.5);
1660
basisvalues[9] *= std::sqrt(2.0);
1661
basisvalues[1] *= std::sqrt(3.0);
1662
basisvalues[4] *= std::sqrt(4.5);
1663
basisvalues[8] *= std::sqrt(6.0);
1664
basisvalues[3] *= std::sqrt(7.5);
1665
basisvalues[7] *= std::sqrt(10.0);
1666
basisvalues[6] *= std::sqrt(14.0);
2036
1668
// Table(s) of coefficients.
2037
1669
static const double coefficients0[10] = \
2197
1829
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2199
1831
// Declare helper variables.
2200
unsigned int rr = 0;
2201
unsigned int ss = 0;
2202
unsigned int tt = 0;
2206
1832
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2207
1833
double tmp1 = (1.0 - Y)/2.0;
2208
1834
double tmp2 = tmp1*tmp1;
2210
1836
// Compute basisvalues.
2211
1837
basisvalues[0] = 1.0;
2212
1838
basisvalues[1] = tmp0;
2213
for (unsigned int r = 1; r < 3; r++)
2215
rr = (r + 1)*((r + 1) + 1)/2;
2217
tt = (r - 1)*((r - 1) + 1)/2;
2218
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2219
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2220
}// end loop over 'r'
2221
for (unsigned int r = 0; r < 3; r++)
2223
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2225
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2226
}// end loop over 'r'
2227
for (unsigned int r = 0; r < 2; r++)
2229
for (unsigned int s = 1; s < 3 - r; s++)
2231
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2232
ss = (r + s)*(r + s + 1)/2 + s;
2233
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2234
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2235
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2236
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2237
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2238
}// end loop over 's'
2239
}// end loop over 'r'
2240
for (unsigned int r = 0; r < 4; r++)
2242
for (unsigned int s = 0; s < 4 - r; s++)
2244
rr = (r + s)*(r + s + 1)/2 + s;
2245
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2246
}// end loop over 's'
2247
}// end loop over 'r'
1839
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1840
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1841
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1842
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1843
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1844
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1845
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1846
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1847
basisvalues[0] *= std::sqrt(0.5);
1848
basisvalues[2] *= std::sqrt(1.0);
1849
basisvalues[5] *= std::sqrt(1.5);
1850
basisvalues[9] *= std::sqrt(2.0);
1851
basisvalues[1] *= std::sqrt(3.0);
1852
basisvalues[4] *= std::sqrt(4.5);
1853
basisvalues[8] *= std::sqrt(6.0);
1854
basisvalues[3] *= std::sqrt(7.5);
1855
basisvalues[7] *= std::sqrt(10.0);
1856
basisvalues[6] *= std::sqrt(14.0);
2249
1858
// Table(s) of coefficients.
2250
1859
static const double coefficients0[10] = \
2410
2019
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2412
2021
// Declare helper variables.
2413
unsigned int rr = 0;
2414
unsigned int ss = 0;
2415
unsigned int tt = 0;
2419
2022
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2420
2023
double tmp1 = (1.0 - Y)/2.0;
2421
2024
double tmp2 = tmp1*tmp1;
2423
2026
// Compute basisvalues.
2424
2027
basisvalues[0] = 1.0;
2425
2028
basisvalues[1] = tmp0;
2426
for (unsigned int r = 1; r < 3; r++)
2428
rr = (r + 1)*((r + 1) + 1)/2;
2430
tt = (r - 1)*((r - 1) + 1)/2;
2431
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2432
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2433
}// end loop over 'r'
2434
for (unsigned int r = 0; r < 3; r++)
2436
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2438
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2439
}// end loop over 'r'
2440
for (unsigned int r = 0; r < 2; r++)
2442
for (unsigned int s = 1; s < 3 - r; s++)
2444
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2445
ss = (r + s)*(r + s + 1)/2 + s;
2446
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2447
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2448
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2449
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2450
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2451
}// end loop over 's'
2452
}// end loop over 'r'
2453
for (unsigned int r = 0; r < 4; r++)
2455
for (unsigned int s = 0; s < 4 - r; s++)
2457
rr = (r + s)*(r + s + 1)/2 + s;
2458
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2459
}// end loop over 's'
2460
}// end loop over 'r'
2029
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
2030
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
2031
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2032
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
2033
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
2034
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
2035
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
2036
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
2037
basisvalues[0] *= std::sqrt(0.5);
2038
basisvalues[2] *= std::sqrt(1.0);
2039
basisvalues[5] *= std::sqrt(1.5);
2040
basisvalues[9] *= std::sqrt(2.0);
2041
basisvalues[1] *= std::sqrt(3.0);
2042
basisvalues[4] *= std::sqrt(4.5);
2043
basisvalues[8] *= std::sqrt(6.0);
2044
basisvalues[3] *= std::sqrt(7.5);
2045
basisvalues[7] *= std::sqrt(10.0);
2046
basisvalues[6] *= std::sqrt(14.0);
2462
2048
// Table(s) of coefficients.
2463
2049
static const double coefficients0[10] = \
2623
2209
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2625
2211
// Declare helper variables.
2626
unsigned int rr = 0;
2627
unsigned int ss = 0;
2628
unsigned int tt = 0;
2632
2212
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2633
2213
double tmp1 = (1.0 - Y)/2.0;
2634
2214
double tmp2 = tmp1*tmp1;
2636
2216
// Compute basisvalues.
2637
2217
basisvalues[0] = 1.0;
2638
2218
basisvalues[1] = tmp0;
2639
for (unsigned int r = 1; r < 3; r++)
2641
rr = (r + 1)*((r + 1) + 1)/2;
2643
tt = (r - 1)*((r - 1) + 1)/2;
2644
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2645
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2646
}// end loop over 'r'
2647
for (unsigned int r = 0; r < 3; r++)
2649
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2651
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2652
}// end loop over 'r'
2653
for (unsigned int r = 0; r < 2; r++)
2655
for (unsigned int s = 1; s < 3 - r; s++)
2657
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2658
ss = (r + s)*(r + s + 1)/2 + s;
2659
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2660
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2661
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2662
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2663
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2664
}// end loop over 's'
2665
}// end loop over 'r'
2666
for (unsigned int r = 0; r < 4; r++)
2668
for (unsigned int s = 0; s < 4 - r; s++)
2670
rr = (r + s)*(r + s + 1)/2 + s;
2671
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2672
}// end loop over 's'
2673
}// end loop over 'r'
2219
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
2220
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
2221
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2222
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
2223
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
2224
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
2225
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
2226
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
2227
basisvalues[0] *= std::sqrt(0.5);
2228
basisvalues[2] *= std::sqrt(1.0);
2229
basisvalues[5] *= std::sqrt(1.5);
2230
basisvalues[9] *= std::sqrt(2.0);
2231
basisvalues[1] *= std::sqrt(3.0);
2232
basisvalues[4] *= std::sqrt(4.5);
2233
basisvalues[8] *= std::sqrt(6.0);
2234
basisvalues[3] *= std::sqrt(7.5);
2235
basisvalues[7] *= std::sqrt(10.0);
2236
basisvalues[6] *= std::sqrt(14.0);
2675
2238
// Table(s) of coefficients.
2676
2239
static const double coefficients0[10] = \
2836
2399
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2838
2401
// Declare helper variables.
2839
unsigned int rr = 0;
2840
unsigned int ss = 0;
2841
unsigned int tt = 0;
2845
2402
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2846
2403
double tmp1 = (1.0 - Y)/2.0;
2847
2404
double tmp2 = tmp1*tmp1;
2849
2406
// Compute basisvalues.
2850
2407
basisvalues[0] = 1.0;
2851
2408
basisvalues[1] = tmp0;
2852
for (unsigned int r = 1; r < 3; r++)
2854
rr = (r + 1)*((r + 1) + 1)/2;
2856
tt = (r - 1)*((r - 1) + 1)/2;
2857
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2858
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2859
}// end loop over 'r'
2860
for (unsigned int r = 0; r < 3; r++)
2862
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2864
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2865
}// end loop over 'r'
2866
for (unsigned int r = 0; r < 2; r++)
2868
for (unsigned int s = 1; s < 3 - r; s++)
2870
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2871
ss = (r + s)*(r + s + 1)/2 + s;
2872
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2873
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2874
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2875
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2876
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2877
}// end loop over 's'
2878
}// end loop over 'r'
2879
for (unsigned int r = 0; r < 4; r++)
2881
for (unsigned int s = 0; s < 4 - r; s++)
2883
rr = (r + s)*(r + s + 1)/2 + s;
2884
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2885
}// end loop over 's'
2886
}// end loop over 'r'
2409
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
2410
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
2411
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2412
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
2413
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
2414
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
2415
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
2416
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
2417
basisvalues[0] *= std::sqrt(0.5);
2418
basisvalues[2] *= std::sqrt(1.0);
2419
basisvalues[5] *= std::sqrt(1.5);
2420
basisvalues[9] *= std::sqrt(2.0);
2421
basisvalues[1] *= std::sqrt(3.0);
2422
basisvalues[4] *= std::sqrt(4.5);
2423
basisvalues[8] *= std::sqrt(6.0);
2424
basisvalues[3] *= std::sqrt(7.5);
2425
basisvalues[7] *= std::sqrt(10.0);
2426
basisvalues[6] *= std::sqrt(14.0);
2888
2428
// Table(s) of coefficients.
2889
2429
static const double coefficients0[10] = \