1
// This code conforms with the UFC specification version 2.0.0
2
// and was automatically generated by FFC version 0.9.10.
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:
140
140
double basisvalues[3] = {0.0, 0.0, 0.0};
142
142
// Declare helper variables.
145
143
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
147
145
// Compute basisvalues.
148
146
basisvalues[0] = 1.0;
149
147
basisvalues[1] = tmp0;
150
for (unsigned int r = 0; r < 1; r++)
152
rr = (r + 1)*(r + 1 + 1)/2 + 1;
154
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
155
}// end loop over 'r'
156
for (unsigned int r = 0; r < 2; r++)
158
for (unsigned int s = 0; s < 2 - r; s++)
160
rr = (r + s)*(r + s + 1)/2 + s;
161
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
162
}// end loop over 's'
163
}// end loop over 'r'
148
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
149
basisvalues[0] *= std::sqrt(0.5);
150
basisvalues[2] *= std::sqrt(1.0);
151
basisvalues[1] *= std::sqrt(3.0);
165
153
// Table(s) of coefficients.
166
154
static const double coefficients0[3] = \
180
168
double basisvalues[3] = {0.0, 0.0, 0.0};
182
170
// Declare helper variables.
185
171
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
187
173
// Compute basisvalues.
188
174
basisvalues[0] = 1.0;
189
175
basisvalues[1] = tmp0;
190
for (unsigned int r = 0; r < 1; r++)
192
rr = (r + 1)*(r + 1 + 1)/2 + 1;
194
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
195
}// end loop over 'r'
196
for (unsigned int r = 0; r < 2; r++)
198
for (unsigned int s = 0; s < 2 - r; s++)
200
rr = (r + s)*(r + s + 1)/2 + s;
201
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
202
}// end loop over 's'
203
}// end loop over 'r'
176
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
177
basisvalues[0] *= std::sqrt(0.5);
178
basisvalues[2] *= std::sqrt(1.0);
179
basisvalues[1] *= std::sqrt(3.0);
205
181
// Table(s) of coefficients.
206
182
static const double coefficients0[3] = \
220
196
double basisvalues[3] = {0.0, 0.0, 0.0};
222
198
// Declare helper variables.
225
199
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
227
201
// Compute basisvalues.
228
202
basisvalues[0] = 1.0;
229
203
basisvalues[1] = tmp0;
230
for (unsigned int r = 0; r < 1; r++)
232
rr = (r + 1)*(r + 1 + 1)/2 + 1;
234
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
235
}// end loop over 'r'
236
for (unsigned int r = 0; r < 2; r++)
238
for (unsigned int s = 0; s < 2 - r; s++)
240
rr = (r + s)*(r + s + 1)/2 + s;
241
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
242
}// end loop over 's'
243
}// end loop over 'r'
204
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
205
basisvalues[0] *= std::sqrt(0.5);
206
basisvalues[2] *= std::sqrt(1.0);
207
basisvalues[1] *= std::sqrt(3.0);
245
209
// Table(s) of coefficients.
246
210
static const double coefficients0[3] = \
260
224
double basisvalues[3] = {0.0, 0.0, 0.0};
262
226
// Declare helper variables.
265
227
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
267
229
// Compute basisvalues.
268
230
basisvalues[0] = 1.0;
269
231
basisvalues[1] = tmp0;
270
for (unsigned int r = 0; r < 1; r++)
272
rr = (r + 1)*(r + 1 + 1)/2 + 1;
274
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
275
}// end loop over 'r'
276
for (unsigned int r = 0; r < 2; r++)
278
for (unsigned int s = 0; s < 2 - r; s++)
280
rr = (r + s)*(r + s + 1)/2 + s;
281
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
282
}// end loop over 's'
283
}// end loop over 'r'
232
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
233
basisvalues[0] *= std::sqrt(0.5);
234
basisvalues[2] *= std::sqrt(1.0);
235
basisvalues[1] *= std::sqrt(3.0);
285
237
// Table(s) of coefficients.
286
238
static const double coefficients0[3] = \
300
252
double basisvalues[3] = {0.0, 0.0, 0.0};
302
254
// Declare helper variables.
305
255
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
307
257
// Compute basisvalues.
308
258
basisvalues[0] = 1.0;
309
259
basisvalues[1] = tmp0;
310
for (unsigned int r = 0; r < 1; r++)
312
rr = (r + 1)*(r + 1 + 1)/2 + 1;
314
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
315
}// end loop over 'r'
316
for (unsigned int r = 0; r < 2; r++)
318
for (unsigned int s = 0; s < 2 - r; s++)
320
rr = (r + s)*(r + s + 1)/2 + s;
321
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
322
}// end loop over 's'
323
}// end loop over 'r'
260
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
261
basisvalues[0] *= std::sqrt(0.5);
262
basisvalues[2] *= std::sqrt(1.0);
263
basisvalues[1] *= std::sqrt(3.0);
325
265
// Table(s) of coefficients.
326
266
static const double coefficients0[3] = \
340
280
double basisvalues[3] = {0.0, 0.0, 0.0};
342
282
// Declare helper variables.
345
283
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
347
285
// Compute basisvalues.
348
286
basisvalues[0] = 1.0;
349
287
basisvalues[1] = tmp0;
350
for (unsigned int r = 0; r < 1; r++)
352
rr = (r + 1)*(r + 1 + 1)/2 + 1;
354
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
355
}// end loop over 'r'
356
for (unsigned int r = 0; r < 2; r++)
358
for (unsigned int s = 0; s < 2 - r; s++)
360
rr = (r + s)*(r + s + 1)/2 + s;
361
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
362
}// end loop over 's'
363
}// end loop over 'r'
288
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
289
basisvalues[0] *= std::sqrt(0.5);
290
basisvalues[2] *= std::sqrt(1.0);
291
basisvalues[1] *= std::sqrt(3.0);
365
293
// Table(s) of coefficients.
366
294
static const double coefficients0[3] = \
380
308
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
382
310
// Declare helper variables.
389
311
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
390
312
double tmp1 = (1.0 - Y)/2.0;
391
313
double tmp2 = tmp1*tmp1;
393
315
// Compute basisvalues.
394
316
basisvalues[0] = 1.0;
395
317
basisvalues[1] = tmp0;
396
for (unsigned int r = 1; r < 3; r++)
398
rr = (r + 1)*((r + 1) + 1)/2;
400
tt = (r - 1)*((r - 1) + 1)/2;
401
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
402
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
403
}// end loop over 'r'
404
for (unsigned int r = 0; r < 3; r++)
406
rr = (r + 1)*(r + 1 + 1)/2 + 1;
408
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
409
}// end loop over 'r'
410
for (unsigned int r = 0; r < 2; r++)
412
for (unsigned int s = 1; s < 3 - r; s++)
414
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
415
ss = (r + s)*(r + s + 1)/2 + s;
416
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
417
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));
418
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));
419
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));
420
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
421
}// end loop over 's'
422
}// end loop over 'r'
423
for (unsigned int r = 0; r < 4; r++)
425
for (unsigned int s = 0; s < 4 - r; s++)
427
rr = (r + s)*(r + s + 1)/2 + s;
428
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
429
}// end loop over 's'
430
}// end loop over 'r'
318
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
319
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
320
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
321
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
322
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
323
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
324
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
325
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
326
basisvalues[0] *= std::sqrt(0.5);
327
basisvalues[2] *= std::sqrt(1.0);
328
basisvalues[5] *= std::sqrt(1.5);
329
basisvalues[9] *= std::sqrt(2.0);
330
basisvalues[1] *= std::sqrt(3.0);
331
basisvalues[4] *= std::sqrt(4.5);
332
basisvalues[8] *= std::sqrt(6.0);
333
basisvalues[3] *= std::sqrt(7.5);
334
basisvalues[7] *= std::sqrt(10.0);
335
basisvalues[6] *= std::sqrt(14.0);
432
337
// Table(s) of coefficients.
433
338
static const double coefficients0[10] = \
447
352
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
449
354
// Declare helper variables.
456
355
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
457
356
double tmp1 = (1.0 - Y)/2.0;
458
357
double tmp2 = tmp1*tmp1;
460
359
// Compute basisvalues.
461
360
basisvalues[0] = 1.0;
462
361
basisvalues[1] = tmp0;
463
for (unsigned int r = 1; r < 3; r++)
465
rr = (r + 1)*((r + 1) + 1)/2;
467
tt = (r - 1)*((r - 1) + 1)/2;
468
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
469
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
470
}// end loop over 'r'
471
for (unsigned int r = 0; r < 3; r++)
473
rr = (r + 1)*(r + 1 + 1)/2 + 1;
475
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
476
}// end loop over 'r'
477
for (unsigned int r = 0; r < 2; r++)
479
for (unsigned int s = 1; s < 3 - r; s++)
481
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
482
ss = (r + s)*(r + s + 1)/2 + s;
483
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
484
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));
485
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));
486
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));
487
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
488
}// end loop over 's'
489
}// end loop over 'r'
490
for (unsigned int r = 0; r < 4; r++)
492
for (unsigned int s = 0; s < 4 - r; s++)
494
rr = (r + s)*(r + s + 1)/2 + s;
495
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
496
}// end loop over 's'
497
}// end loop over 'r'
362
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
363
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
364
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
365
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
366
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
367
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
368
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
369
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
370
basisvalues[0] *= std::sqrt(0.5);
371
basisvalues[2] *= std::sqrt(1.0);
372
basisvalues[5] *= std::sqrt(1.5);
373
basisvalues[9] *= std::sqrt(2.0);
374
basisvalues[1] *= std::sqrt(3.0);
375
basisvalues[4] *= std::sqrt(4.5);
376
basisvalues[8] *= std::sqrt(6.0);
377
basisvalues[3] *= std::sqrt(7.5);
378
basisvalues[7] *= std::sqrt(10.0);
379
basisvalues[6] *= std::sqrt(14.0);
499
381
// Table(s) of coefficients.
500
382
static const double coefficients0[10] = \
636
518
double basisvalues[3] = {0.0, 0.0, 0.0};
638
520
// Declare helper variables.
641
521
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
643
523
// Compute basisvalues.
644
524
basisvalues[0] = 1.0;
645
525
basisvalues[1] = tmp0;
646
for (unsigned int r = 0; r < 1; r++)
648
rr = (r + 1)*(r + 1 + 1)/2 + 1;
650
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
651
}// end loop over 'r'
652
for (unsigned int r = 0; r < 2; r++)
654
for (unsigned int s = 0; s < 2 - r; s++)
656
rr = (r + s)*(r + s + 1)/2 + s;
657
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
658
}// end loop over 's'
659
}// end loop over 'r'
526
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
527
basisvalues[0] *= std::sqrt(0.5);
528
basisvalues[2] *= std::sqrt(1.0);
529
basisvalues[1] *= std::sqrt(3.0);
661
531
// Table(s) of coefficients.
662
532
static const double coefficients0[3] = \
794
664
double basisvalues[3] = {0.0, 0.0, 0.0};
796
666
// Declare helper variables.
799
667
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
801
669
// Compute basisvalues.
802
670
basisvalues[0] = 1.0;
803
671
basisvalues[1] = tmp0;
804
for (unsigned int r = 0; r < 1; r++)
806
rr = (r + 1)*(r + 1 + 1)/2 + 1;
808
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
809
}// end loop over 'r'
810
for (unsigned int r = 0; r < 2; r++)
812
for (unsigned int s = 0; s < 2 - r; s++)
814
rr = (r + s)*(r + s + 1)/2 + s;
815
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
816
}// end loop over 's'
817
}// end loop over 'r'
672
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
673
basisvalues[0] *= std::sqrt(0.5);
674
basisvalues[2] *= std::sqrt(1.0);
675
basisvalues[1] *= std::sqrt(3.0);
819
677
// Table(s) of coefficients.
820
678
static const double coefficients0[3] = \
952
810
double basisvalues[3] = {0.0, 0.0, 0.0};
954
812
// Declare helper variables.
957
813
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
959
815
// Compute basisvalues.
960
816
basisvalues[0] = 1.0;
961
817
basisvalues[1] = tmp0;
962
for (unsigned int r = 0; r < 1; r++)
964
rr = (r + 1)*(r + 1 + 1)/2 + 1;
966
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
967
}// end loop over 'r'
968
for (unsigned int r = 0; r < 2; r++)
970
for (unsigned int s = 0; s < 2 - r; s++)
972
rr = (r + s)*(r + s + 1)/2 + s;
973
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
974
}// end loop over 's'
975
}// end loop over 'r'
818
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
819
basisvalues[0] *= std::sqrt(0.5);
820
basisvalues[2] *= std::sqrt(1.0);
821
basisvalues[1] *= std::sqrt(3.0);
977
823
// Table(s) of coefficients.
978
824
static const double coefficients0[3] = \
1110
956
double basisvalues[3] = {0.0, 0.0, 0.0};
1112
958
// Declare helper variables.
1113
unsigned int rr = 0;
1114
unsigned int ss = 0;
1115
959
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1117
961
// Compute basisvalues.
1118
962
basisvalues[0] = 1.0;
1119
963
basisvalues[1] = tmp0;
1120
for (unsigned int r = 0; r < 1; r++)
1122
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1124
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1125
}// end loop over 'r'
1126
for (unsigned int r = 0; r < 2; r++)
1128
for (unsigned int s = 0; s < 2 - r; s++)
1130
rr = (r + s)*(r + s + 1)/2 + s;
1131
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1132
}// end loop over 's'
1133
}// end loop over 'r'
964
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
965
basisvalues[0] *= std::sqrt(0.5);
966
basisvalues[2] *= std::sqrt(1.0);
967
basisvalues[1] *= std::sqrt(3.0);
1135
969
// Table(s) of coefficients.
1136
970
static const double coefficients0[3] = \
1268
1102
double basisvalues[3] = {0.0, 0.0, 0.0};
1270
1104
// Declare helper variables.
1271
unsigned int rr = 0;
1272
unsigned int ss = 0;
1273
1105
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1275
1107
// Compute basisvalues.
1276
1108
basisvalues[0] = 1.0;
1277
1109
basisvalues[1] = tmp0;
1278
for (unsigned int r = 0; r < 1; r++)
1280
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1282
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1283
}// end loop over 'r'
1284
for (unsigned int r = 0; r < 2; r++)
1286
for (unsigned int s = 0; s < 2 - r; s++)
1288
rr = (r + s)*(r + s + 1)/2 + s;
1289
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1290
}// end loop over 's'
1291
}// end loop over 'r'
1110
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1111
basisvalues[0] *= std::sqrt(0.5);
1112
basisvalues[2] *= std::sqrt(1.0);
1113
basisvalues[1] *= std::sqrt(3.0);
1293
1115
// Table(s) of coefficients.
1294
1116
static const double coefficients0[3] = \
1426
1248
double basisvalues[3] = {0.0, 0.0, 0.0};
1428
1250
// Declare helper variables.
1429
unsigned int rr = 0;
1430
unsigned int ss = 0;
1431
1251
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1433
1253
// Compute basisvalues.
1434
1254
basisvalues[0] = 1.0;
1435
1255
basisvalues[1] = tmp0;
1436
for (unsigned int r = 0; r < 1; r++)
1438
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1440
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1441
}// end loop over 'r'
1442
for (unsigned int r = 0; r < 2; r++)
1444
for (unsigned int s = 0; s < 2 - r; s++)
1446
rr = (r + s)*(r + s + 1)/2 + s;
1447
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1448
}// end loop over 's'
1449
}// end loop over 'r'
1256
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1257
basisvalues[0] *= std::sqrt(0.5);
1258
basisvalues[2] *= std::sqrt(1.0);
1259
basisvalues[1] *= std::sqrt(3.0);
1451
1261
// Table(s) of coefficients.
1452
1262
static const double coefficients0[3] = \
1584
1394
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1586
1396
// Declare helper variables.
1587
unsigned int rr = 0;
1588
unsigned int ss = 0;
1589
unsigned int tt = 0;
1593
1397
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1594
1398
double tmp1 = (1.0 - Y)/2.0;
1595
1399
double tmp2 = tmp1*tmp1;
1597
1401
// Compute basisvalues.
1598
1402
basisvalues[0] = 1.0;
1599
1403
basisvalues[1] = tmp0;
1600
for (unsigned int r = 1; r < 3; r++)
1602
rr = (r + 1)*((r + 1) + 1)/2;
1604
tt = (r - 1)*((r - 1) + 1)/2;
1605
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1606
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1607
}// end loop over 'r'
1608
for (unsigned int r = 0; r < 3; r++)
1610
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1612
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1613
}// end loop over 'r'
1614
for (unsigned int r = 0; r < 2; r++)
1616
for (unsigned int s = 1; s < 3 - r; s++)
1618
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1619
ss = (r + s)*(r + s + 1)/2 + s;
1620
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1621
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));
1622
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));
1623
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));
1624
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1625
}// end loop over 's'
1626
}// end loop over 'r'
1627
for (unsigned int r = 0; r < 4; r++)
1629
for (unsigned int s = 0; s < 4 - r; s++)
1631
rr = (r + s)*(r + s + 1)/2 + s;
1632
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1633
}// end loop over 's'
1634
}// end loop over 'r'
1404
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1405
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1406
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1407
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1408
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1409
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1410
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1411
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1412
basisvalues[0] *= std::sqrt(0.5);
1413
basisvalues[2] *= std::sqrt(1.0);
1414
basisvalues[5] *= std::sqrt(1.5);
1415
basisvalues[9] *= std::sqrt(2.0);
1416
basisvalues[1] *= std::sqrt(3.0);
1417
basisvalues[4] *= std::sqrt(4.5);
1418
basisvalues[8] *= std::sqrt(6.0);
1419
basisvalues[3] *= std::sqrt(7.5);
1420
basisvalues[7] *= std::sqrt(10.0);
1421
basisvalues[6] *= std::sqrt(14.0);
1636
1423
// Table(s) of coefficients.
1637
1424
static const double coefficients0[10] = \
1797
1584
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1799
1586
// Declare helper variables.
1800
unsigned int rr = 0;
1801
unsigned int ss = 0;
1802
unsigned int tt = 0;
1806
1587
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1807
1588
double tmp1 = (1.0 - Y)/2.0;
1808
1589
double tmp2 = tmp1*tmp1;
1810
1591
// Compute basisvalues.
1811
1592
basisvalues[0] = 1.0;
1812
1593
basisvalues[1] = tmp0;
1813
for (unsigned int r = 1; r < 3; r++)
1815
rr = (r + 1)*((r + 1) + 1)/2;
1817
tt = (r - 1)*((r - 1) + 1)/2;
1818
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1819
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1820
}// end loop over 'r'
1821
for (unsigned int r = 0; r < 3; r++)
1823
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1825
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1826
}// end loop over 'r'
1827
for (unsigned int r = 0; r < 2; r++)
1829
for (unsigned int s = 1; s < 3 - r; s++)
1831
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1832
ss = (r + s)*(r + s + 1)/2 + s;
1833
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1834
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));
1835
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));
1836
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));
1837
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1838
}// end loop over 's'
1839
}// end loop over 'r'
1840
for (unsigned int r = 0; r < 4; r++)
1842
for (unsigned int s = 0; s < 4 - r; s++)
1844
rr = (r + s)*(r + s + 1)/2 + s;
1845
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1846
}// end loop over 's'
1847
}// end loop over 'r'
1594
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1595
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
1596
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1597
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1598
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
1599
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1600
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
1601
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
1602
basisvalues[0] *= std::sqrt(0.5);
1603
basisvalues[2] *= std::sqrt(1.0);
1604
basisvalues[5] *= std::sqrt(1.5);
1605
basisvalues[9] *= std::sqrt(2.0);
1606
basisvalues[1] *= std::sqrt(3.0);
1607
basisvalues[4] *= std::sqrt(4.5);
1608
basisvalues[8] *= std::sqrt(6.0);
1609
basisvalues[3] *= std::sqrt(7.5);
1610
basisvalues[7] *= std::sqrt(10.0);
1611
basisvalues[6] *= std::sqrt(14.0);
1849
1613
// Table(s) of coefficients.
1850
1614
static const double coefficients0[10] = \
2317
2081
double basisvalues[3] = {0.0, 0.0, 0.0};
2319
2083
// Declare helper variables.
2320
unsigned int rr = 0;
2321
unsigned int ss = 0;
2322
2084
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2324
2086
// Compute basisvalues.
2325
2087
basisvalues[0] = 1.0;
2326
2088
basisvalues[1] = tmp0;
2327
for (unsigned int r = 0; r < 1; r++)
2329
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2331
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2332
}// end loop over 'r'
2333
for (unsigned int r = 0; r < 2; r++)
2335
for (unsigned int s = 0; s < 2 - r; s++)
2337
rr = (r + s)*(r + s + 1)/2 + s;
2338
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2339
}// end loop over 's'
2340
}// end loop over 'r'
2089
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2090
basisvalues[0] *= std::sqrt(0.5);
2091
basisvalues[2] *= std::sqrt(1.0);
2092
basisvalues[1] *= std::sqrt(3.0);
2342
2094
// Table(s) of coefficients.
2343
2095
static const double coefficients0[3] = \
2357
2109
double basisvalues[3] = {0.0, 0.0, 0.0};
2359
2111
// Declare helper variables.
2360
unsigned int rr = 0;
2361
unsigned int ss = 0;
2362
2112
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2364
2114
// Compute basisvalues.
2365
2115
basisvalues[0] = 1.0;
2366
2116
basisvalues[1] = tmp0;
2367
for (unsigned int r = 0; r < 1; r++)
2369
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2371
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2372
}// end loop over 'r'
2373
for (unsigned int r = 0; r < 2; r++)
2375
for (unsigned int s = 0; s < 2 - r; s++)
2377
rr = (r + s)*(r + s + 1)/2 + s;
2378
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2379
}// end loop over 's'
2380
}// end loop over 'r'
2117
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2118
basisvalues[0] *= std::sqrt(0.5);
2119
basisvalues[2] *= std::sqrt(1.0);
2120
basisvalues[1] *= std::sqrt(3.0);
2382
2122
// Table(s) of coefficients.
2383
2123
static const double coefficients0[3] = \
2397
2137
double basisvalues[3] = {0.0, 0.0, 0.0};
2399
2139
// Declare helper variables.
2400
unsigned int rr = 0;
2401
unsigned int ss = 0;
2402
2140
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2404
2142
// Compute basisvalues.
2405
2143
basisvalues[0] = 1.0;
2406
2144
basisvalues[1] = tmp0;
2407
for (unsigned int r = 0; r < 1; r++)
2409
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2411
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2412
}// end loop over 'r'
2413
for (unsigned int r = 0; r < 2; r++)
2415
for (unsigned int s = 0; s < 2 - r; s++)
2417
rr = (r + s)*(r + s + 1)/2 + s;
2418
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2419
}// end loop over 's'
2420
}// end loop over 'r'
2145
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2146
basisvalues[0] *= std::sqrt(0.5);
2147
basisvalues[2] *= std::sqrt(1.0);
2148
basisvalues[1] *= std::sqrt(3.0);
2422
2150
// Table(s) of coefficients.
2423
2151
static const double coefficients0[3] = \
2556
2284
double basisvalues[3] = {0.0, 0.0, 0.0};
2558
2286
// Declare helper variables.
2559
unsigned int rr = 0;
2560
unsigned int ss = 0;
2561
2287
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2563
2289
// Compute basisvalues.
2564
2290
basisvalues[0] = 1.0;
2565
2291
basisvalues[1] = tmp0;
2566
for (unsigned int r = 0; r < 1; r++)
2568
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2570
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2571
}// end loop over 'r'
2572
for (unsigned int r = 0; r < 2; r++)
2574
for (unsigned int s = 0; s < 2 - r; s++)
2576
rr = (r + s)*(r + s + 1)/2 + s;
2577
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2578
}// end loop over 's'
2579
}// end loop over 'r'
2292
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2293
basisvalues[0] *= std::sqrt(0.5);
2294
basisvalues[2] *= std::sqrt(1.0);
2295
basisvalues[1] *= std::sqrt(3.0);
2581
2297
// Table(s) of coefficients.
2582
2298
static const double coefficients0[3] = \
2714
2430
double basisvalues[3] = {0.0, 0.0, 0.0};
2716
2432
// Declare helper variables.
2717
unsigned int rr = 0;
2718
unsigned int ss = 0;
2719
2433
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2721
2435
// Compute basisvalues.
2722
2436
basisvalues[0] = 1.0;
2723
2437
basisvalues[1] = tmp0;
2724
for (unsigned int r = 0; r < 1; r++)
2726
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2728
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2729
}// end loop over 'r'
2730
for (unsigned int r = 0; r < 2; r++)
2732
for (unsigned int s = 0; s < 2 - r; s++)
2734
rr = (r + s)*(r + s + 1)/2 + s;
2735
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2736
}// end loop over 's'
2737
}// end loop over 'r'
2438
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2439
basisvalues[0] *= std::sqrt(0.5);
2440
basisvalues[2] *= std::sqrt(1.0);
2441
basisvalues[1] *= std::sqrt(3.0);
2739
2443
// Table(s) of coefficients.
2740
2444
static const double coefficients0[3] = \
2872
2576
double basisvalues[3] = {0.0, 0.0, 0.0};
2874
2578
// Declare helper variables.
2875
unsigned int rr = 0;
2876
unsigned int ss = 0;
2877
2579
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2879
2581
// Compute basisvalues.
2880
2582
basisvalues[0] = 1.0;
2881
2583
basisvalues[1] = tmp0;
2882
for (unsigned int r = 0; r < 1; r++)
2884
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2886
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2887
}// end loop over 'r'
2888
for (unsigned int r = 0; r < 2; r++)
2890
for (unsigned int s = 0; s < 2 - r; s++)
2892
rr = (r + s)*(r + s + 1)/2 + s;
2893
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2894
}// end loop over 's'
2895
}// end loop over 'r'
2584
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2585
basisvalues[0] *= std::sqrt(0.5);
2586
basisvalues[2] *= std::sqrt(1.0);
2587
basisvalues[1] *= std::sqrt(3.0);
2897
2589
// Table(s) of coefficients.
2898
2590
static const double coefficients0[3] = \
3285
2977
double basisvalues[3] = {0.0, 0.0, 0.0};
3287
2979
// Declare helper variables.
3288
unsigned int rr = 0;
3289
unsigned int ss = 0;
3290
2980
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3292
2982
// Compute basisvalues.
3293
2983
basisvalues[0] = 1.0;
3294
2984
basisvalues[1] = tmp0;
3295
for (unsigned int r = 0; r < 1; r++)
3297
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3299
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3300
}// end loop over 'r'
3301
for (unsigned int r = 0; r < 2; r++)
3303
for (unsigned int s = 0; s < 2 - r; s++)
3305
rr = (r + s)*(r + s + 1)/2 + s;
3306
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3307
}// end loop over 's'
3308
}// end loop over 'r'
2985
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
2986
basisvalues[0] *= std::sqrt(0.5);
2987
basisvalues[2] *= std::sqrt(1.0);
2988
basisvalues[1] *= std::sqrt(3.0);
3310
2990
// Table(s) of coefficients.
3311
2991
static const double coefficients0[3] = \
3325
3005
double basisvalues[3] = {0.0, 0.0, 0.0};
3327
3007
// Declare helper variables.
3328
unsigned int rr = 0;
3329
unsigned int ss = 0;
3330
3008
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3332
3010
// Compute basisvalues.
3333
3011
basisvalues[0] = 1.0;
3334
3012
basisvalues[1] = tmp0;
3335
for (unsigned int r = 0; r < 1; r++)
3337
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3339
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3340
}// end loop over 'r'
3341
for (unsigned int r = 0; r < 2; r++)
3343
for (unsigned int s = 0; s < 2 - r; s++)
3345
rr = (r + s)*(r + s + 1)/2 + s;
3346
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3347
}// end loop over 's'
3348
}// end loop over 'r'
3013
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3014
basisvalues[0] *= std::sqrt(0.5);
3015
basisvalues[2] *= std::sqrt(1.0);
3016
basisvalues[1] *= std::sqrt(3.0);
3350
3018
// Table(s) of coefficients.
3351
3019
static const double coefficients0[3] = \
3365
3033
double basisvalues[3] = {0.0, 0.0, 0.0};
3367
3035
// Declare helper variables.
3368
unsigned int rr = 0;
3369
unsigned int ss = 0;
3370
3036
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3372
3038
// Compute basisvalues.
3373
3039
basisvalues[0] = 1.0;
3374
3040
basisvalues[1] = tmp0;
3375
for (unsigned int r = 0; r < 1; r++)
3377
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3379
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3380
}// end loop over 'r'
3381
for (unsigned int r = 0; r < 2; r++)
3383
for (unsigned int s = 0; s < 2 - r; s++)
3385
rr = (r + s)*(r + s + 1)/2 + s;
3386
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3387
}// end loop over 's'
3388
}// end loop over 'r'
3041
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3042
basisvalues[0] *= std::sqrt(0.5);
3043
basisvalues[2] *= std::sqrt(1.0);
3044
basisvalues[1] *= std::sqrt(3.0);
3390
3046
// Table(s) of coefficients.
3391
3047
static const double coefficients0[3] = \
3405
3061
double basisvalues[3] = {0.0, 0.0, 0.0};
3407
3063
// Declare helper variables.
3408
unsigned int rr = 0;
3409
unsigned int ss = 0;
3410
3064
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3412
3066
// Compute basisvalues.
3413
3067
basisvalues[0] = 1.0;
3414
3068
basisvalues[1] = tmp0;
3415
for (unsigned int r = 0; r < 1; r++)
3417
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3419
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3420
}// end loop over 'r'
3421
for (unsigned int r = 0; r < 2; r++)
3423
for (unsigned int s = 0; s < 2 - r; s++)
3425
rr = (r + s)*(r + s + 1)/2 + s;
3426
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3427
}// end loop over 's'
3428
}// end loop over 'r'
3069
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3070
basisvalues[0] *= std::sqrt(0.5);
3071
basisvalues[2] *= std::sqrt(1.0);
3072
basisvalues[1] *= std::sqrt(3.0);
3430
3074
// Table(s) of coefficients.
3431
3075
static const double coefficients0[3] = \
3445
3089
double basisvalues[3] = {0.0, 0.0, 0.0};
3447
3091
// Declare helper variables.
3448
unsigned int rr = 0;
3449
unsigned int ss = 0;
3450
3092
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3452
3094
// Compute basisvalues.
3453
3095
basisvalues[0] = 1.0;
3454
3096
basisvalues[1] = tmp0;
3455
for (unsigned int r = 0; r < 1; r++)
3457
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3459
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3460
}// end loop over 'r'
3461
for (unsigned int r = 0; r < 2; r++)
3463
for (unsigned int s = 0; s < 2 - r; s++)
3465
rr = (r + s)*(r + s + 1)/2 + s;
3466
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3467
}// end loop over 's'
3468
}// end loop over 'r'
3097
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3098
basisvalues[0] *= std::sqrt(0.5);
3099
basisvalues[2] *= std::sqrt(1.0);
3100
basisvalues[1] *= std::sqrt(3.0);
3470
3102
// Table(s) of coefficients.
3471
3103
static const double coefficients0[3] = \
3485
3117
double basisvalues[3] = {0.0, 0.0, 0.0};
3487
3119
// Declare helper variables.
3488
unsigned int rr = 0;
3489
unsigned int ss = 0;
3490
3120
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3492
3122
// Compute basisvalues.
3493
3123
basisvalues[0] = 1.0;
3494
3124
basisvalues[1] = tmp0;
3495
for (unsigned int r = 0; r < 1; r++)
3497
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3499
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3500
}// end loop over 'r'
3501
for (unsigned int r = 0; r < 2; r++)
3503
for (unsigned int s = 0; s < 2 - r; s++)
3505
rr = (r + s)*(r + s + 1)/2 + s;
3506
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3507
}// end loop over 's'
3508
}// end loop over 'r'
3125
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3126
basisvalues[0] *= std::sqrt(0.5);
3127
basisvalues[2] *= std::sqrt(1.0);
3128
basisvalues[1] *= std::sqrt(3.0);
3510
3130
// Table(s) of coefficients.
3511
3131
static const double coefficients0[3] = \
3525
3145
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3527
3147
// Declare helper variables.
3528
unsigned int rr = 0;
3529
unsigned int ss = 0;
3530
unsigned int tt = 0;
3534
3148
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3535
3149
double tmp1 = (1.0 - Y)/2.0;
3536
3150
double tmp2 = tmp1*tmp1;
3538
3152
// Compute basisvalues.
3539
3153
basisvalues[0] = 1.0;
3540
3154
basisvalues[1] = tmp0;
3541
for (unsigned int r = 1; r < 3; r++)
3543
rr = (r + 1)*((r + 1) + 1)/2;
3545
tt = (r - 1)*((r - 1) + 1)/2;
3546
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
3547
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
3548
}// end loop over 'r'
3549
for (unsigned int r = 0; r < 3; r++)
3551
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3553
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3554
}// end loop over 'r'
3555
for (unsigned int r = 0; r < 2; r++)
3557
for (unsigned int s = 1; s < 3 - r; s++)
3559
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
3560
ss = (r + s)*(r + s + 1)/2 + s;
3561
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
3562
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));
3563
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));
3564
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));
3565
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
3566
}// end loop over 's'
3567
}// end loop over 'r'
3568
for (unsigned int r = 0; r < 4; r++)
3570
for (unsigned int s = 0; s < 4 - r; s++)
3572
rr = (r + s)*(r + s + 1)/2 + s;
3573
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3574
}// end loop over 's'
3575
}// end loop over 'r'
3155
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
3156
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
3157
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3158
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
3159
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
3160
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
3161
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
3162
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
3163
basisvalues[0] *= std::sqrt(0.5);
3164
basisvalues[2] *= std::sqrt(1.0);
3165
basisvalues[5] *= std::sqrt(1.5);
3166
basisvalues[9] *= std::sqrt(2.0);
3167
basisvalues[1] *= std::sqrt(3.0);
3168
basisvalues[4] *= std::sqrt(4.5);
3169
basisvalues[8] *= std::sqrt(6.0);
3170
basisvalues[3] *= std::sqrt(7.5);
3171
basisvalues[7] *= std::sqrt(10.0);
3172
basisvalues[6] *= std::sqrt(14.0);
3577
3174
// Table(s) of coefficients.
3578
3175
static const double coefficients0[10] = \
3592
3189
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3594
3191
// Declare helper variables.
3595
unsigned int rr = 0;
3596
unsigned int ss = 0;
3597
unsigned int tt = 0;
3601
3192
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3602
3193
double tmp1 = (1.0 - Y)/2.0;
3603
3194
double tmp2 = tmp1*tmp1;
3605
3196
// Compute basisvalues.
3606
3197
basisvalues[0] = 1.0;
3607
3198
basisvalues[1] = tmp0;
3608
for (unsigned int r = 1; r < 3; r++)
3610
rr = (r + 1)*((r + 1) + 1)/2;
3612
tt = (r - 1)*((r - 1) + 1)/2;
3613
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
3614
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
3615
}// end loop over 'r'
3616
for (unsigned int r = 0; r < 3; r++)
3618
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3620
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3621
}// end loop over 'r'
3622
for (unsigned int r = 0; r < 2; r++)
3624
for (unsigned int s = 1; s < 3 - r; s++)
3626
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
3627
ss = (r + s)*(r + s + 1)/2 + s;
3628
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
3629
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));
3630
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));
3631
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));
3632
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
3633
}// end loop over 's'
3634
}// end loop over 'r'
3635
for (unsigned int r = 0; r < 4; r++)
3637
for (unsigned int s = 0; s < 4 - r; s++)
3639
rr = (r + s)*(r + s + 1)/2 + s;
3640
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3641
}// end loop over 's'
3642
}// end loop over 'r'
3199
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
3200
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
3201
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3202
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
3203
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
3204
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
3205
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
3206
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
3207
basisvalues[0] *= std::sqrt(0.5);
3208
basisvalues[2] *= std::sqrt(1.0);
3209
basisvalues[5] *= std::sqrt(1.5);
3210
basisvalues[9] *= std::sqrt(2.0);
3211
basisvalues[1] *= std::sqrt(3.0);
3212
basisvalues[4] *= std::sqrt(4.5);
3213
basisvalues[8] *= std::sqrt(6.0);
3214
basisvalues[3] *= std::sqrt(7.5);
3215
basisvalues[7] *= std::sqrt(10.0);
3216
basisvalues[6] *= std::sqrt(14.0);
3644
3218
// Table(s) of coefficients.
3645
3219
static const double coefficients0[10] = \
3659
3233
double basisvalues[3] = {0.0, 0.0, 0.0};
3661
3235
// Declare helper variables.
3662
unsigned int rr = 0;
3663
unsigned int ss = 0;
3664
3236
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3666
3238
// Compute basisvalues.
3667
3239
basisvalues[0] = 1.0;
3668
3240
basisvalues[1] = tmp0;
3669
for (unsigned int r = 0; r < 1; r++)
3671
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3673
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3674
}// end loop over 'r'
3675
for (unsigned int r = 0; r < 2; r++)
3677
for (unsigned int s = 0; s < 2 - r; s++)
3679
rr = (r + s)*(r + s + 1)/2 + s;
3680
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3681
}// end loop over 's'
3682
}// end loop over 'r'
3241
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3242
basisvalues[0] *= std::sqrt(0.5);
3243
basisvalues[2] *= std::sqrt(1.0);
3244
basisvalues[1] *= std::sqrt(3.0);
3684
3246
// Table(s) of coefficients.
3685
3247
static const double coefficients0[3] = \
3699
3261
double basisvalues[3] = {0.0, 0.0, 0.0};
3701
3263
// Declare helper variables.
3702
unsigned int rr = 0;
3703
unsigned int ss = 0;
3704
3264
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3706
3266
// Compute basisvalues.
3707
3267
basisvalues[0] = 1.0;
3708
3268
basisvalues[1] = tmp0;
3709
for (unsigned int r = 0; r < 1; r++)
3711
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3713
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3714
}// end loop over 'r'
3715
for (unsigned int r = 0; r < 2; r++)
3717
for (unsigned int s = 0; s < 2 - r; s++)
3719
rr = (r + s)*(r + s + 1)/2 + s;
3720
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3721
}// end loop over 's'
3722
}// end loop over 'r'
3269
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3270
basisvalues[0] *= std::sqrt(0.5);
3271
basisvalues[2] *= std::sqrt(1.0);
3272
basisvalues[1] *= std::sqrt(3.0);
3724
3274
// Table(s) of coefficients.
3725
3275
static const double coefficients0[3] = \
3739
3289
double basisvalues[3] = {0.0, 0.0, 0.0};
3741
3291
// Declare helper variables.
3742
unsigned int rr = 0;
3743
unsigned int ss = 0;
3744
3292
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3746
3294
// Compute basisvalues.
3747
3295
basisvalues[0] = 1.0;
3748
3296
basisvalues[1] = tmp0;
3749
for (unsigned int r = 0; r < 1; r++)
3751
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3753
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3754
}// end loop over 'r'
3755
for (unsigned int r = 0; r < 2; r++)
3757
for (unsigned int s = 0; s < 2 - r; s++)
3759
rr = (r + s)*(r + s + 1)/2 + s;
3760
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3761
}// end loop over 's'
3762
}// end loop over 'r'
3297
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3298
basisvalues[0] *= std::sqrt(0.5);
3299
basisvalues[2] *= std::sqrt(1.0);
3300
basisvalues[1] *= std::sqrt(3.0);
3764
3302
// Table(s) of coefficients.
3765
3303
static const double coefficients0[3] = \
3901
3439
double basisvalues[3] = {0.0, 0.0, 0.0};
3903
3441
// Declare helper variables.
3904
unsigned int rr = 0;
3905
unsigned int ss = 0;
3906
3442
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
3908
3444
// Compute basisvalues.
3909
3445
basisvalues[0] = 1.0;
3910
3446
basisvalues[1] = tmp0;
3911
for (unsigned int r = 0; r < 1; r++)
3913
rr = (r + 1)*(r + 1 + 1)/2 + 1;
3915
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
3916
}// end loop over 'r'
3917
for (unsigned int r = 0; r < 2; r++)
3919
for (unsigned int s = 0; s < 2 - r; s++)
3921
rr = (r + s)*(r + s + 1)/2 + s;
3922
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
3923
}// end loop over 's'
3924
}// end loop over 'r'
3447
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3448
basisvalues[0] *= std::sqrt(0.5);
3449
basisvalues[2] *= std::sqrt(1.0);
3450
basisvalues[1] *= std::sqrt(3.0);
3926
3452
// Table(s) of coefficients.
3927
3453
static const double coefficients0[3] = \
4059
3585
double basisvalues[3] = {0.0, 0.0, 0.0};
4061
3587
// Declare helper variables.
4062
unsigned int rr = 0;
4063
unsigned int ss = 0;
4064
3588
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
4066
3590
// Compute basisvalues.
4067
3591
basisvalues[0] = 1.0;
4068
3592
basisvalues[1] = tmp0;
4069
for (unsigned int r = 0; r < 1; r++)
4071
rr = (r + 1)*(r + 1 + 1)/2 + 1;
4073
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
4074
}// end loop over 'r'
4075
for (unsigned int r = 0; r < 2; r++)
4077
for (unsigned int s = 0; s < 2 - r; s++)
4079
rr = (r + s)*(r + s + 1)/2 + s;
4080
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
4081
}// end loop over 's'
4082
}// end loop over 'r'
3593
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3594
basisvalues[0] *= std::sqrt(0.5);
3595
basisvalues[2] *= std::sqrt(1.0);
3596
basisvalues[1] *= std::sqrt(3.0);
4084
3598
// Table(s) of coefficients.
4085
3599
static const double coefficients0[3] = \
4217
3731
double basisvalues[3] = {0.0, 0.0, 0.0};
4219
3733
// Declare helper variables.
4220
unsigned int rr = 0;
4221
unsigned int ss = 0;
4222
3734
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
4224
3736
// Compute basisvalues.
4225
3737
basisvalues[0] = 1.0;
4226
3738
basisvalues[1] = tmp0;
4227
for (unsigned int r = 0; r < 1; r++)
4229
rr = (r + 1)*(r + 1 + 1)/2 + 1;
4231
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
4232
}// end loop over 'r'
4233
for (unsigned int r = 0; r < 2; r++)
4235
for (unsigned int s = 0; s < 2 - r; s++)
4237
rr = (r + s)*(r + s + 1)/2 + s;
4238
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
4239
}// end loop over 's'
4240
}// end loop over 'r'
3739
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3740
basisvalues[0] *= std::sqrt(0.5);
3741
basisvalues[2] *= std::sqrt(1.0);
3742
basisvalues[1] *= std::sqrt(3.0);
4242
3744
// Table(s) of coefficients.
4243
3745
static const double coefficients0[3] = \
4375
3877
double basisvalues[3] = {0.0, 0.0, 0.0};
4377
3879
// Declare helper variables.
4378
unsigned int rr = 0;
4379
unsigned int ss = 0;
4380
3880
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
4382
3882
// Compute basisvalues.
4383
3883
basisvalues[0] = 1.0;
4384
3884
basisvalues[1] = tmp0;
4385
for (unsigned int r = 0; r < 1; r++)
4387
rr = (r + 1)*(r + 1 + 1)/2 + 1;
4389
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
4390
}// end loop over 'r'
4391
for (unsigned int r = 0; r < 2; r++)
4393
for (unsigned int s = 0; s < 2 - r; s++)
4395
rr = (r + s)*(r + s + 1)/2 + s;
4396
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
4397
}// end loop over 's'
4398
}// end loop over 'r'
3885
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
3886
basisvalues[0] *= std::sqrt(0.5);
3887
basisvalues[2] *= std::sqrt(1.0);
3888
basisvalues[1] *= std::sqrt(3.0);
4400
3890
// Table(s) of coefficients.
4401
3891
static const double coefficients0[3] = \
4533
4023
double basisvalues[3] = {0.0, 0.0, 0.0};
4535
4025
// Declare helper variables.
4536
unsigned int rr = 0;
4537
unsigned int ss = 0;
4538
4026
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
4540
4028
// Compute basisvalues.
4541
4029
basisvalues[0] = 1.0;
4542
4030
basisvalues[1] = tmp0;
4543
for (unsigned int r = 0; r < 1; r++)
4545
rr = (r + 1)*(r + 1 + 1)/2 + 1;
4547
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
4548
}// end loop over 'r'
4549
for (unsigned int r = 0; r < 2; r++)
4551
for (unsigned int s = 0; s < 2 - r; s++)
4553
rr = (r + s)*(r + s + 1)/2 + s;
4554
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
4555
}// end loop over 's'
4556
}// end loop over 'r'
4031
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4032
basisvalues[0] *= std::sqrt(0.5);
4033
basisvalues[2] *= std::sqrt(1.0);
4034
basisvalues[1] *= std::sqrt(3.0);
4558
4036
// Table(s) of coefficients.
4559
4037
static const double coefficients0[3] = \
4691
4169
double basisvalues[3] = {0.0, 0.0, 0.0};
4693
4171
// Declare helper variables.
4694
unsigned int rr = 0;
4695
unsigned int ss = 0;
4696
4172
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
4698
4174
// Compute basisvalues.
4699
4175
basisvalues[0] = 1.0;
4700
4176
basisvalues[1] = tmp0;
4701
for (unsigned int r = 0; r < 1; r++)
4703
rr = (r + 1)*(r + 1 + 1)/2 + 1;
4705
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
4706
}// end loop over 'r'
4707
for (unsigned int r = 0; r < 2; r++)
4709
for (unsigned int s = 0; s < 2 - r; s++)
4711
rr = (r + s)*(r + s + 1)/2 + s;
4712
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
4713
}// end loop over 's'
4714
}// end loop over 'r'
4177
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4178
basisvalues[0] *= std::sqrt(0.5);
4179
basisvalues[2] *= std::sqrt(1.0);
4180
basisvalues[1] *= std::sqrt(3.0);
4716
4182
// Table(s) of coefficients.
4717
4183
static const double coefficients0[3] = \
4849
4315
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4851
4317
// Declare helper variables.
4852
unsigned int rr = 0;
4853
unsigned int ss = 0;
4854
unsigned int tt = 0;
4858
4318
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
4859
4319
double tmp1 = (1.0 - Y)/2.0;
4860
4320
double tmp2 = tmp1*tmp1;
4862
4322
// Compute basisvalues.
4863
4323
basisvalues[0] = 1.0;
4864
4324
basisvalues[1] = tmp0;
4865
for (unsigned int r = 1; r < 3; r++)
4867
rr = (r + 1)*((r + 1) + 1)/2;
4869
tt = (r - 1)*((r - 1) + 1)/2;
4870
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
4871
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
4872
}// end loop over 'r'
4873
for (unsigned int r = 0; r < 3; r++)
4875
rr = (r + 1)*(r + 1 + 1)/2 + 1;
4877
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
4878
}// end loop over 'r'
4879
for (unsigned int r = 0; r < 2; r++)
4881
for (unsigned int s = 1; s < 3 - r; s++)
4883
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
4884
ss = (r + s)*(r + s + 1)/2 + s;
4885
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
4886
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));
4887
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));
4888
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));
4889
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
4890
}// end loop over 's'
4891
}// end loop over 'r'
4892
for (unsigned int r = 0; r < 4; r++)
4894
for (unsigned int s = 0; s < 4 - r; s++)
4896
rr = (r + s)*(r + s + 1)/2 + s;
4897
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
4898
}// end loop over 's'
4899
}// end loop over 'r'
4325
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
4326
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
4327
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4328
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
4329
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
4330
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
4331
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
4332
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
4333
basisvalues[0] *= std::sqrt(0.5);
4334
basisvalues[2] *= std::sqrt(1.0);
4335
basisvalues[5] *= std::sqrt(1.5);
4336
basisvalues[9] *= std::sqrt(2.0);
4337
basisvalues[1] *= std::sqrt(3.0);
4338
basisvalues[4] *= std::sqrt(4.5);
4339
basisvalues[8] *= std::sqrt(6.0);
4340
basisvalues[3] *= std::sqrt(7.5);
4341
basisvalues[7] *= std::sqrt(10.0);
4342
basisvalues[6] *= std::sqrt(14.0);
4901
4344
// Table(s) of coefficients.
4902
4345
static const double coefficients0[10] = \
5062
4505
double basisvalues[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5064
4507
// Declare helper variables.
5065
unsigned int rr = 0;
5066
unsigned int ss = 0;
5067
unsigned int tt = 0;
5071
4508
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
5072
4509
double tmp1 = (1.0 - Y)/2.0;
5073
4510
double tmp2 = tmp1*tmp1;
5075
4512
// Compute basisvalues.
5076
4513
basisvalues[0] = 1.0;
5077
4514
basisvalues[1] = tmp0;
5078
for (unsigned int r = 1; r < 3; r++)
5080
rr = (r + 1)*((r + 1) + 1)/2;
5082
tt = (r - 1)*((r - 1) + 1)/2;
5083
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
5084
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
5085
}// end loop over 'r'
5086
for (unsigned int r = 0; r < 3; r++)
5088
rr = (r + 1)*(r + 1 + 1)/2 + 1;
5090
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
5091
}// end loop over 'r'
5092
for (unsigned int r = 0; r < 2; r++)
5094
for (unsigned int s = 1; s < 3 - r; s++)
5096
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
5097
ss = (r + s)*(r + s + 1)/2 + s;
5098
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
5099
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));
5100
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));
5101
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));
5102
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
5103
}// end loop over 's'
5104
}// end loop over 'r'
5105
for (unsigned int r = 0; r < 4; r++)
5107
for (unsigned int s = 0; s < 4 - r; s++)
5109
rr = (r + s)*(r + s + 1)/2 + s;
5110
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
5111
}// end loop over 's'
5112
}// end loop over 'r'
4515
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
4516
basisvalues[6] = basisvalues[3]*1.6666667*tmp0 - basisvalues[1]*0.66666667*tmp2;
4517
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4518
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
4519
basisvalues[7] = basisvalues[3]*(2.5 + 3.5*Y);
4520
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
4521
basisvalues[9] = basisvalues[5]*(0.05 + Y*1.75) - basisvalues[2]*0.7;
4522
basisvalues[8] = basisvalues[4]*(0.54 + Y*2.1) - basisvalues[1]*0.56;
4523
basisvalues[0] *= std::sqrt(0.5);
4524
basisvalues[2] *= std::sqrt(1.0);
4525
basisvalues[5] *= std::sqrt(1.5);
4526
basisvalues[9] *= std::sqrt(2.0);
4527
basisvalues[1] *= std::sqrt(3.0);
4528
basisvalues[4] *= std::sqrt(4.5);
4529
basisvalues[8] *= std::sqrt(6.0);
4530
basisvalues[3] *= std::sqrt(7.5);
4531
basisvalues[7] *= std::sqrt(10.0);
4532
basisvalues[6] *= std::sqrt(14.0);
5114
4534
// Table(s) of coefficients.
5115
4535
static const double coefficients0[10] = \
5275
4695
double basisvalues[3] = {0.0, 0.0, 0.0};
5277
4697
// Declare helper variables.
5278
unsigned int rr = 0;
5279
unsigned int ss = 0;
5280
4698
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
5282
4700
// Compute basisvalues.
5283
4701
basisvalues[0] = 1.0;
5284
4702
basisvalues[1] = tmp0;
5285
for (unsigned int r = 0; r < 1; r++)
5287
rr = (r + 1)*(r + 1 + 1)/2 + 1;
5289
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
5290
}// end loop over 'r'
5291
for (unsigned int r = 0; r < 2; r++)
5293
for (unsigned int s = 0; s < 2 - r; s++)
5295
rr = (r + s)*(r + s + 1)/2 + s;
5296
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
5297
}// end loop over 's'
5298
}// end loop over 'r'
4703
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4704
basisvalues[0] *= std::sqrt(0.5);
4705
basisvalues[2] *= std::sqrt(1.0);
4706
basisvalues[1] *= std::sqrt(3.0);
5300
4708
// Table(s) of coefficients.
5301
4709
static const double coefficients0[3] = \
5433
4841
double basisvalues[3] = {0.0, 0.0, 0.0};
5435
4843
// Declare helper variables.
5436
unsigned int rr = 0;
5437
unsigned int ss = 0;
5438
4844
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
5440
4846
// Compute basisvalues.
5441
4847
basisvalues[0] = 1.0;
5442
4848
basisvalues[1] = tmp0;
5443
for (unsigned int r = 0; r < 1; r++)
5445
rr = (r + 1)*(r + 1 + 1)/2 + 1;
5447
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
5448
}// end loop over 'r'
5449
for (unsigned int r = 0; r < 2; r++)
5451
for (unsigned int s = 0; s < 2 - r; s++)
5453
rr = (r + s)*(r + s + 1)/2 + s;
5454
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
5455
}// end loop over 's'
5456
}// end loop over 'r'
4849
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4850
basisvalues[0] *= std::sqrt(0.5);
4851
basisvalues[2] *= std::sqrt(1.0);
4852
basisvalues[1] *= std::sqrt(3.0);
5458
4854
// Table(s) of coefficients.
5459
4855
static const double coefficients0[3] = \
5591
4987
double basisvalues[3] = {0.0, 0.0, 0.0};
5593
4989
// Declare helper variables.
5594
unsigned int rr = 0;
5595
unsigned int ss = 0;
5596
4990
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
5598
4992
// Compute basisvalues.
5599
4993
basisvalues[0] = 1.0;
5600
4994
basisvalues[1] = tmp0;
5601
for (unsigned int r = 0; r < 1; r++)
5603
rr = (r + 1)*(r + 1 + 1)/2 + 1;
5605
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
5606
}// end loop over 'r'
5607
for (unsigned int r = 0; r < 2; r++)
5609
for (unsigned int s = 0; s < 2 - r; s++)
5611
rr = (r + s)*(r + s + 1)/2 + s;
5612
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
5613
}// end loop over 's'
5614
}// end loop over 'r'
4995
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
4996
basisvalues[0] *= std::sqrt(0.5);
4997
basisvalues[2] *= std::sqrt(1.0);
4998
basisvalues[1] *= std::sqrt(3.0);
5616
5000
// Table(s) of coefficients.
5617
5001
static const double coefficients0[3] = \