~ubuntu-branches/ubuntu/utopic/ffc/utopic

« back to all changes in this revision

Viewing changes to test/regression/references/r_quadrature/P5tet.h

  • Committer: Package Import Robot
  • Author(s): Johannes Ring
  • Date: 2013-06-26 14:48:32 UTC
  • mfrom: (1.1.13)
  • Revision ID: package-import@ubuntu.com-20130626144832-1xd8htax4s3utybz
Tags: 1.2.0-1
* New upstream release.
* debian/control:
  - Bump required version for python-ufc, python-fiat, python-instant
    and python-ufl in Depends field.
  - Bump Standards-Version to 3.9.4.
  - Remove DM-Upload-Allowed field.
  - Bump required debhelper version in Build-Depends.
  - Remove cdbs from Build-Depends.
  - Use canonical URIs for Vcs-* fields.
* debian/compat: Bump to compatibility level 9.
* debian/rules: Rewrite for debhelper (drop cdbs).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// This code conforms with the UFC specification version 2.0.5
2
 
// and was automatically generated by FFC version 1.0.0.
 
1
// This code conforms with the UFC specification version 2.2.0
 
2
// and was automatically generated by FFC version 1.2.0.
3
3
// 
4
4
// This code was generated with the following parameters:
5
5
// 
52
52
  /// Return a string identifying the finite element
53
53
  virtual const char* signature() const
54
54
  {
55
 
    return "FiniteElement('Lagrange', Cell('tetrahedron', Space(3)), 5, None)";
 
55
    return "FiniteElement('Lagrange', Domain(Cell('tetrahedron', 3), 'tetrahedron_multiverse', 3, 3), 5, None)";
56
56
  }
57
57
 
58
58
  /// Return the cell shape
62
62
  }
63
63
 
64
64
  /// Return the topological dimension of the cell shape
65
 
  virtual unsigned int topological_dimension() const
 
65
  virtual std::size_t topological_dimension() const
66
66
  {
67
67
    return 3;
68
68
  }
69
69
 
70
70
  /// Return the geometric dimension of the cell shape
71
 
  virtual unsigned int geometric_dimension() const
 
71
  virtual std::size_t geometric_dimension() const
72
72
  {
73
73
    return 3;
74
74
  }
75
75
 
76
76
  /// Return the dimension of the finite element function space
77
 
  virtual unsigned int space_dimension() const
 
77
  virtual std::size_t space_dimension() const
78
78
  {
79
79
    return 56;
80
80
  }
81
81
 
82
82
  /// Return the rank of the value space
83
 
  virtual unsigned int value_rank() const
 
83
  virtual std::size_t value_rank() const
84
84
  {
85
85
    return 0;
86
86
  }
87
87
 
88
88
  /// Return the dimension of the value space for axis i
89
 
  virtual unsigned int value_dimension(unsigned int i) const
 
89
  virtual std::size_t value_dimension(std::size_t i) const
90
90
  {
91
91
    return 1;
92
92
  }
93
93
 
94
 
  /// Evaluate basis function i at given point in cell
95
 
  virtual void evaluate_basis(unsigned int i,
 
94
  /// Evaluate basis function i at given point x in cell
 
95
  virtual void evaluate_basis(std::size_t i,
96
96
                              double* values,
97
 
                              const double* coordinates,
98
 
                              const ufc::cell& c) const
 
97
                              const double* x,
 
98
                              const double* vertex_coordinates,
 
99
                              int cell_orientation) const
99
100
  {
100
 
    // Extract vertex coordinates
101
 
    const double * const * x = c.coordinates;
102
 
    
103
 
    // Compute Jacobian of affine map from reference cell
104
 
    const double J_00 = x[1][0] - x[0][0];
105
 
    const double J_01 = x[2][0] - x[0][0];
106
 
    const double J_02 = x[3][0] - x[0][0];
107
 
    const double J_10 = x[1][1] - x[0][1];
108
 
    const double J_11 = x[2][1] - x[0][1];
109
 
    const double J_12 = x[3][1] - x[0][1];
110
 
    const double J_20 = x[1][2] - x[0][2];
111
 
    const double J_21 = x[2][2] - x[0][2];
112
 
    const double J_22 = x[3][2] - x[0][2];
113
 
    
114
 
    // Compute sub determinants
115
 
    const double d_00 = J_11*J_22 - J_12*J_21;
116
 
    const double d_01 = J_12*J_20 - J_10*J_22;
117
 
    const double d_02 = J_10*J_21 - J_11*J_20;
118
 
    const double d_10 = J_02*J_21 - J_01*J_22;
119
 
    const double d_11 = J_00*J_22 - J_02*J_20;
120
 
    const double d_12 = J_01*J_20 - J_00*J_21;
121
 
    const double d_20 = J_01*J_12 - J_02*J_11;
122
 
    const double d_21 = J_02*J_10 - J_00*J_12;
123
 
    const double d_22 = J_00*J_11 - J_01*J_10;
124
 
    
125
 
    // Compute determinant of Jacobian
126
 
    double detJ = J_00*d_00 + J_10*d_10 + J_20*d_20;
127
 
    
128
 
    // Compute inverse of Jacobian
 
101
    // Compute Jacobian
 
102
    double J[9];
 
103
    compute_jacobian_tetrahedron_3d(J, vertex_coordinates);
 
104
    
 
105
    // Compute Jacobian inverse and determinant
 
106
    double K[9];
 
107
    double detJ;
 
108
    compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
 
109
    
129
110
    
130
111
    // Compute constants
131
 
    const double C0 = x[3][0] + x[2][0] + x[1][0] - x[0][0];
132
 
    const double C1 = x[3][1] + x[2][1] + x[1][1] - x[0][1];
133
 
    const double C2 = x[3][2] + x[2][2] + x[1][2] - x[0][2];
 
112
    const double C0 = vertex_coordinates[9]  + vertex_coordinates[6] + vertex_coordinates[3]  - vertex_coordinates[0];
 
113
    const double C1 = vertex_coordinates[10] + vertex_coordinates[7] + vertex_coordinates[4]  - vertex_coordinates[1];
 
114
    const double C2 = vertex_coordinates[11] + vertex_coordinates[8] + vertex_coordinates[5]  - vertex_coordinates[2];
 
115
    
 
116
    // Compute subdeterminants
 
117
    const double d_00 = J[4]*J[8] - J[5]*J[7];
 
118
    const double d_01 = J[5]*J[6] - J[3]*J[8];
 
119
    const double d_02 = J[3]*J[7] - J[4]*J[6];
 
120
    const double d_10 = J[2]*J[7] - J[1]*J[8];
 
121
    const double d_11 = J[0]*J[8] - J[2]*J[6];
 
122
    const double d_12 = J[1]*J[6] - J[0]*J[7];
 
123
    const double d_20 = J[1]*J[5] - J[2]*J[4];
 
124
    const double d_21 = J[2]*J[3] - J[0]*J[5];
 
125
    const double d_22 = J[0]*J[4] - J[1]*J[3];
134
126
    
135
127
    // Get coordinates and map to the reference (FIAT) element
136
 
    double X = (d_00*(2.0*coordinates[0] - C0) + d_10*(2.0*coordinates[1] - C1) + d_20*(2.0*coordinates[2] - C2)) / detJ;
137
 
    double Y = (d_01*(2.0*coordinates[0] - C0) + d_11*(2.0*coordinates[1] - C1) + d_21*(2.0*coordinates[2] - C2)) / detJ;
138
 
    double Z = (d_02*(2.0*coordinates[0] - C0) + d_12*(2.0*coordinates[1] - C1) + d_22*(2.0*coordinates[2] - C2)) / detJ;
139
 
    
140
 
    
141
 
    // Reset values.
 
128
    double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
 
129
    double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
 
130
    double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
 
131
    
 
132
    
 
133
    // Reset values
142
134
    *values = 0.0;
143
135
    switch (i)
144
136
    {
145
137
    case 0:
146
138
      {
147
139
        
148
 
      // Array of basisvalues.
 
140
      // Array of basisvalues
149
141
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
150
142
      
151
 
      // Declare helper variables.
 
143
      // Declare helper variables
152
144
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
153
145
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
154
146
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
155
147
      double tmp3 = 0.5*(1.0 - Z);
156
148
      double tmp4 = tmp3*tmp3;
157
149
      
158
 
      // Compute basisvalues.
 
150
      // Compute basisvalues
159
151
      basisvalues[0] = 1.0;
160
152
      basisvalues[1] = tmp0;
161
153
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
269
261
      basisvalues[36] *= std::sqrt(175.5);
270
262
      basisvalues[35] *= std::sqrt(214.5);
271
263
      
272
 
      // Table(s) of coefficients.
 
264
      // Table(s) of coefficients
273
265
      static const double coefficients0[56] = \
274
266
      {0.009450674, 0.0060978812, 0.0035206134, 0.0024894496, 0.0070594623, 0.005468236, 0.004464796, 0.0031570875, 0.0025777512, 0.0018227453, -0.0029826742, -0.0025208198, -0.002183094, -0.0019526186, -0.0016910173, -0.0013807099, -0.0011273449, -0.0009763093, -0.00079715321, -0.00056367244, 0.0027868711, 0.0024577893, 0.0021983136, 0.0020772111, 0.0018579141, 0.0016090008, 0.0016090008, 0.0014391341, 0.0012463267, 0.0010176215, 0.00092895704, 0.00083088444, 0.00071956703, 0.00058752402, 0.00041544222, -0.0070559352, -0.0063823336, -0.0058262468, -0.0056286891, -0.0051382667, -0.0045958054, -0.0047571106, -0.0043426279, -0.0038841645, -0.0033637851, -0.003684842, -0.0033637851, -0.0030086609, -0.0026055768, -0.0021274445, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
275
267
      
276
 
      // Compute value(s).
 
268
      // Compute value(s)
277
269
      for (unsigned int r = 0; r < 56; r++)
278
270
      {
279
271
        *values += coefficients0[r]*basisvalues[r];
283
275
    case 1:
284
276
      {
285
277
        
286
 
      // Array of basisvalues.
 
278
      // Array of basisvalues
287
279
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
288
280
      
289
 
      // Declare helper variables.
 
281
      // Declare helper variables
290
282
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
291
283
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
292
284
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
293
285
      double tmp3 = 0.5*(1.0 - Z);
294
286
      double tmp4 = tmp3*tmp3;
295
287
      
296
 
      // Compute basisvalues.
 
288
      // Compute basisvalues
297
289
      basisvalues[0] = 1.0;
298
290
      basisvalues[1] = tmp0;
299
291
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
407
399
      basisvalues[36] *= std::sqrt(175.5);
408
400
      basisvalues[35] *= std::sqrt(214.5);
409
401
      
410
 
      // Table(s) of coefficients.
 
402
      // Table(s) of coefficients
411
403
      static const double coefficients0[56] = \
412
404
      {0.009450674, -0.0060978812, 0.0035206134, 0.0024894496, 0.0070594623, -0.005468236, -0.004464796, 0.0031570875, 0.0025777512, 0.0018227453, 0.0029826742, -0.0025208198, -0.002183094, 0.0019526186, 0.0016910173, 0.0013807099, -0.0011273449, -0.0009763093, -0.00079715321, -0.00056367244, 0.0027868711, -0.0024577893, -0.0021983136, 0.0020772111, 0.0018579141, 0.0016090008, -0.0016090008, -0.0014391341, -0.0012463267, -0.0010176215, 0.00092895704, 0.00083088444, 0.00071956703, 0.00058752402, 0.00041544222, 0.0070559352, -0.0063823336, -0.0058262468, 0.0056286891, 0.0051382667, 0.0045958054, -0.0047571106, -0.0043426279, -0.0038841645, -0.0033637851, 0.003684842, 0.0033637851, 0.0030086609, 0.0026055768, 0.0021274445, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
413
405
      
414
 
      // Compute value(s).
 
406
      // Compute value(s)
415
407
      for (unsigned int r = 0; r < 56; r++)
416
408
      {
417
409
        *values += coefficients0[r]*basisvalues[r];
421
413
    case 2:
422
414
      {
423
415
        
424
 
      // Array of basisvalues.
 
416
      // Array of basisvalues
425
417
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
426
418
      
427
 
      // Declare helper variables.
 
419
      // Declare helper variables
428
420
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
429
421
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
430
422
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
431
423
      double tmp3 = 0.5*(1.0 - Z);
432
424
      double tmp4 = tmp3*tmp3;
433
425
      
434
 
      // Compute basisvalues.
 
426
      // Compute basisvalues
435
427
      basisvalues[0] = 1.0;
436
428
      basisvalues[1] = tmp0;
437
429
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
545
537
      basisvalues[36] *= std::sqrt(175.5);
546
538
      basisvalues[35] *= std::sqrt(214.5);
547
539
      
548
 
      // Table(s) of coefficients.
 
540
      // Table(s) of coefficients
549
541
      static const double coefficients0[56] = \
550
542
      {0.009450674, 0.0, -0.0070412267, 0.0024894496, 0.0, 0.0, 0.0, 0.0094712626, -0.0051555024, 0.0018227453, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0045093795, -0.0029289279, 0.0015943064, -0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0046447852, -0.0033235377, 0.0021587011, -0.001175048, 0.00041544222, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.012764667, -0.0097104113, 0.0069482047, -0.0045129913, 0.0024565613, -0.00086852559};
551
543
      
552
 
      // Compute value(s).
 
544
      // Compute value(s)
553
545
      for (unsigned int r = 0; r < 56; r++)
554
546
      {
555
547
        *values += coefficients0[r]*basisvalues[r];
559
551
    case 3:
560
552
      {
561
553
        
562
 
      // Array of basisvalues.
 
554
      // Array of basisvalues
563
555
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
564
556
      
565
 
      // Declare helper variables.
 
557
      // Declare helper variables
566
558
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
567
559
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
568
560
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
569
561
      double tmp3 = 0.5*(1.0 - Z);
570
562
      double tmp4 = tmp3*tmp3;
571
563
      
572
 
      // Compute basisvalues.
 
564
      // Compute basisvalues
573
565
      basisvalues[0] = 1.0;
574
566
      basisvalues[1] = tmp0;
575
567
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
683
675
      basisvalues[36] *= std::sqrt(175.5);
684
676
      basisvalues[35] *= std::sqrt(214.5);
685
677
      
686
 
      // Table(s) of coefficients.
 
678
      // Table(s) of coefficients
687
679
      static const double coefficients0[56] = \
688
680
      {0.009450674, 0.0, 0.0, -0.0074683487, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010936472, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0062316333, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.018239037};
689
681
      
690
 
      // Compute value(s).
 
682
      // Compute value(s)
691
683
      for (unsigned int r = 0; r < 56; r++)
692
684
      {
693
685
        *values += coefficients0[r]*basisvalues[r];
697
689
    case 4:
698
690
      {
699
691
        
700
 
      // Array of basisvalues.
 
692
      // Array of basisvalues
701
693
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
702
694
      
703
 
      // Declare helper variables.
 
695
      // Declare helper variables
704
696
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
705
697
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
706
698
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
707
699
      double tmp3 = 0.5*(1.0 - Z);
708
700
      double tmp4 = tmp3*tmp3;
709
701
      
710
 
      // Compute basisvalues.
 
702
      // Compute basisvalues
711
703
      basisvalues[0] = 1.0;
712
704
      basisvalues[1] = tmp0;
713
705
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
821
813
      basisvalues[36] *= std::sqrt(175.5);
822
814
      basisvalues[35] *= std::sqrt(214.5);
823
815
      
824
 
      // Table(s) of coefficients.
 
816
      // Table(s) of coefficients
825
817
      static const double coefficients0[56] = \
826
818
      {-0.010023442, 0.0, 0.037471875, -0.028961418, 0.0, 0.0, 0.0, 0.028413788, 0.0051555024, -0.0061973341, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.031565657, -0.011390275, 0.0026571774, -0.00018789081, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.023223926, -0.0016617689, -0.0064761033, 0.0064627642, -0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.021362905, -0.027792819, 0.024370153, -0.015721993, 0.0060796791};
827
819
      
828
 
      // Compute value(s).
 
820
      // Compute value(s)
829
821
      for (unsigned int r = 0; r < 56; r++)
830
822
      {
831
823
        *values += coefficients0[r]*basisvalues[r];
835
827
    case 5:
836
828
      {
837
829
        
838
 
      // Array of basisvalues.
 
830
      // Array of basisvalues
839
831
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
840
832
      
841
 
      // Declare helper variables.
 
833
      // Declare helper variables
842
834
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
843
835
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
844
836
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
845
837
      double tmp3 = 0.5*(1.0 - Z);
846
838
      double tmp4 = tmp3*tmp3;
847
839
      
848
 
      // Compute basisvalues.
 
840
      // Compute basisvalues
849
841
      basisvalues[0] = 1.0;
850
842
      basisvalues[1] = tmp0;
851
843
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
959
951
      basisvalues[36] *= std::sqrt(175.5);
960
952
      basisvalues[35] *= std::sqrt(214.5);
961
953
      
962
 
      // Table(s) of coefficients.
 
954
      // Table(s) of coefficients
963
955
      static const double coefficients0[56] = \
964
956
      {0.010023442, 0.0, -0.028757485, 0.053609434, 0.0, 0.0, 0.0, -0.018942525, 0.015466507, 0.015311061, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0045093795, 0.037099753, -0.02816608, 0.010897667, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02991184, -0.0043174022, -0.012338004, 0.0087242866, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.031266921, -0.048740307, 0.04127023, -0.018239037};
965
957
      
966
 
      // Compute value(s).
 
958
      // Compute value(s)
967
959
      for (unsigned int r = 0; r < 56; r++)
968
960
      {
969
961
        *values += coefficients0[r]*basisvalues[r];
973
965
    case 6:
974
966
      {
975
967
        
976
 
      // Array of basisvalues.
 
968
      // Array of basisvalues
977
969
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
978
970
      
979
 
      // Declare helper variables.
 
971
      // Declare helper variables
980
972
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
981
973
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
982
974
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
983
975
      double tmp3 = 0.5*(1.0 - Z);
984
976
      double tmp4 = tmp3*tmp3;
985
977
      
986
 
      // Compute basisvalues.
 
978
      // Compute basisvalues
987
979
      basisvalues[0] = 1.0;
988
980
      basisvalues[1] = tmp0;
989
981
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1097
1089
      basisvalues[36] *= std::sqrt(175.5);
1098
1090
      basisvalues[35] *= std::sqrt(214.5);
1099
1091
      
1100
 
      // Table(s) of coefficients.
 
1092
      // Table(s) of coefficients
1101
1093
      static const double coefficients0[56] = \
1102
1094
      {0.010023442, 0.0, 0.040957631, -0.044982629, 0.0, 0.0, 0.0, 0.018942525, -0.0051555024, -0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0045561101, 0.035606177, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.030221815, 0.0041126681, -0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.037909127, -0.055026974, 0.030398396};
1103
1095
      
1104
 
      // Compute value(s).
 
1096
      // Compute value(s)
1105
1097
      for (unsigned int r = 0; r < 56; r++)
1106
1098
      {
1107
1099
        *values += coefficients0[r]*basisvalues[r];
1111
1103
    case 7:
1112
1104
      {
1113
1105
        
1114
 
      // Array of basisvalues.
 
1106
      // Array of basisvalues
1115
1107
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1116
1108
      
1117
 
      // Declare helper variables.
 
1109
      // Declare helper variables
1118
1110
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1119
1111
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1120
1112
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1121
1113
      double tmp3 = 0.5*(1.0 - Z);
1122
1114
      double tmp4 = tmp3*tmp3;
1123
1115
      
1124
 
      // Compute basisvalues.
 
1116
      // Compute basisvalues
1125
1117
      basisvalues[0] = 1.0;
1126
1118
      basisvalues[1] = tmp0;
1127
1119
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1235
1227
      basisvalues[36] *= std::sqrt(175.5);
1236
1228
      basisvalues[35] *= std::sqrt(214.5);
1237
1229
      
1238
 
      // Table(s) of coefficients.
 
1230
      // Table(s) of coefficients
1239
1231
      static const double coefficients0[56] = \
1240
1232
      {-0.010023442, 0.0, -0.014814462, 0.044982629, 0.0, 0.0, 0.0, 0.0, 0.020622009, 0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010628709, 0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.020563341, 0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034391859, -0.030398396};
1241
1233
      
1242
 
      // Compute value(s).
 
1234
      // Compute value(s)
1243
1235
      for (unsigned int r = 0; r < 56; r++)
1244
1236
      {
1245
1237
        *values += coefficients0[r]*basisvalues[r];
1249
1241
    case 8:
1250
1242
      {
1251
1243
        
1252
 
      // Array of basisvalues.
 
1244
      // Array of basisvalues
1253
1245
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1254
1246
      
1255
 
      // Declare helper variables.
 
1247
      // Declare helper variables
1256
1248
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1257
1249
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1258
1250
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1259
1251
      double tmp3 = 0.5*(1.0 - Z);
1260
1252
      double tmp4 = tmp3*tmp3;
1261
1253
      
1262
 
      // Compute basisvalues.
 
1254
      // Compute basisvalues
1263
1255
      basisvalues[0] = 1.0;
1264
1256
      basisvalues[1] = tmp0;
1265
1257
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1373
1365
      basisvalues[36] *= std::sqrt(175.5);
1374
1366
      basisvalues[35] *= std::sqrt(214.5);
1375
1367
      
1376
 
      // Table(s) of coefficients.
 
1368
      // Table(s) of coefficients
1377
1369
      static const double coefficients0[56] = \
1378
1370
      {-0.010023442, 0.032451596, -0.018735937, -0.028961418, 0.021178387, -0.016404708, 0.004464796, 0.0094712626, -0.0025777512, -0.0061973341, 0.020878719, -0.017645738, -0.0084898099, 0.01366833, 0.0065761785, 0.0023011831, -0.0078914141, -0.0037967584, -0.0013285887, -0.00018789081, 0.013934356, -0.012288947, -0.0010991568, 0.010386055, 0.00092895704, -0.0048270024, -0.008045004, -0.00071956703, 0.00373898, 0.005596918, 0.0046447852, 0.00041544222, -0.0021587011, -0.0032313821, -0.0029080955, 0.0, 0.0, 0.012817743, 0.0, -0.011304187, -0.018383222, 0.0, 0.0095537815, 0.015536658, 0.01816444, 0.0, -0.0074003273, -0.012034644, -0.014070115, -0.013615645, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
1379
1371
      
1380
 
      // Compute value(s).
 
1372
      // Compute value(s)
1381
1373
      for (unsigned int r = 0; r < 56; r++)
1382
1374
      {
1383
1375
        *values += coefficients0[r]*basisvalues[r];
1387
1379
    case 9:
1388
1380
      {
1389
1381
        
1390
 
      // Array of basisvalues.
 
1382
      // Array of basisvalues
1391
1383
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1392
1384
      
1393
 
      // Declare helper variables.
 
1385
      // Declare helper variables
1394
1386
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1395
1387
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1396
1388
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1397
1389
      double tmp3 = 0.5*(1.0 - Z);
1398
1390
      double tmp4 = tmp3*tmp3;
1399
1391
      
1400
 
      // Compute basisvalues.
 
1392
      // Compute basisvalues
1401
1393
      basisvalues[0] = 1.0;
1402
1394
      basisvalues[1] = tmp0;
1403
1395
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1511
1503
      basisvalues[36] *= std::sqrt(175.5);
1512
1504
      basisvalues[35] *= std::sqrt(214.5);
1513
1505
      
1514
 
      // Table(s) of coefficients.
 
1506
      // Table(s) of coefficients
1515
1507
      static const double coefficients0[56] = \
1516
1508
      {0.010023442, -0.024904713, 0.014378743, 0.053609434, -0.014118925, 0.010936472, 0.013394388, -0.0063141751, -0.0077332535, 0.015311061, -0.0029826742, 0.0025208198, 0.027652524, -0.0019526186, -0.021419553, -0.024392541, 0.0011273449, 0.012366584, 0.01408304, 0.010897667, 0.0, 0.0, 0.019784822, 0.0, -0.016721227, -0.0032180016, 0.0, 0.012952207, 0.0024926533, -0.010685025, 0.0, -0.0074779599, -0.0014391341, 0.0061690022, 0.0087242866, 0.0, 0.0, 0.0, 0.0, 0.0, 0.020681124, 0.0, 0.0, -0.01747874, -0.03632888, 0.0, 0.0, 0.013538974, 0.028140229, 0.035741068, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
1517
1509
      
1518
 
      // Compute value(s).
 
1510
      // Compute value(s)
1519
1511
      for (unsigned int r = 0; r < 56; r++)
1520
1512
      {
1521
1513
        *values += coefficients0[r]*basisvalues[r];
1525
1517
    case 10:
1526
1518
      {
1527
1519
        
1528
 
      // Array of basisvalues.
 
1520
      // Array of basisvalues
1529
1521
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1530
1522
      
1531
 
      // Declare helper variables.
 
1523
      // Declare helper variables
1532
1524
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1533
1525
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1534
1526
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1535
1527
      double tmp3 = 0.5*(1.0 - Z);
1536
1528
      double tmp4 = tmp3*tmp3;
1537
1529
      
1538
 
      // Compute basisvalues.
 
1530
      // Compute basisvalues
1539
1531
      basisvalues[0] = 1.0;
1540
1532
      basisvalues[1] = tmp0;
1541
1533
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1649
1641
      basisvalues[36] *= std::sqrt(175.5);
1650
1642
      basisvalues[35] *= std::sqrt(214.5);
1651
1643
      
1652
 
      // Table(s) of coefficients.
 
1644
      // Table(s) of coefficients
1653
1645
      static const double coefficients0[56] = \
1654
1646
      {0.010023442, 0.035470349, -0.020478815, -0.044982629, 0.014118925, -0.010936472, -0.004464796, 0.0063141751, 0.0025777512, -0.021143846, 0.0, 0.0, 0.0033959239, 0.0, -0.0026304714, 0.030835853, 0.0, 0.0015187034, -0.017803088, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.022526011, 0.0, 0.0, -0.017448573, 0.0035616751, 0.0, 0.0, 0.010073938, -0.0020563341, -0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.028255795, 0.0, 0.0, 0.0, -0.021886845, -0.047654757, 0.0, 0.0, 0.0, 0.012636376, 0.027513487, 0.030398396};
1655
1647
      
1656
 
      // Compute value(s).
 
1648
      // Compute value(s)
1657
1649
      for (unsigned int r = 0; r < 56; r++)
1658
1650
      {
1659
1651
        *values += coefficients0[r]*basisvalues[r];
1663
1655
    case 11:
1664
1656
      {
1665
1657
        
1666
 
      // Array of basisvalues.
 
1658
      // Array of basisvalues
1667
1659
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1668
1660
      
1669
 
      // Declare helper variables.
 
1661
      // Declare helper variables
1670
1662
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1671
1663
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1672
1664
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1673
1665
      double tmp3 = 0.5*(1.0 - Z);
1674
1666
      double tmp4 = tmp3*tmp3;
1675
1667
      
1676
 
      // Compute basisvalues.
 
1668
      // Compute basisvalues
1677
1669
      basisvalues[0] = 1.0;
1678
1670
      basisvalues[1] = tmp0;
1679
1671
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1787
1779
      basisvalues[36] *= std::sqrt(175.5);
1788
1780
      basisvalues[35] *= std::sqrt(214.5);
1789
1781
      
1790
 
      // Table(s) of coefficients.
 
1782
      // Table(s) of coefficients
1791
1783
      static const double coefficients0[56] = \
1792
1784
      {-0.010023442, -0.012829701, 0.0074072311, 0.044982629, 0.0, 0.0, 0.017859184, 0.0, -0.010311005, 0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0092047324, 0.0, 0.0, -0.0053143547, 0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.017808375, 0.0, 0.0, 0.0, -0.01028167, 0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.029784223, 0.0, 0.0, 0.0, 0.0, -0.017195929, -0.030398396};
1793
1785
      
1794
 
      // Compute value(s).
 
1786
      // Compute value(s)
1795
1787
      for (unsigned int r = 0; r < 56; r++)
1796
1788
      {
1797
1789
        *values += coefficients0[r]*basisvalues[r];
1801
1793
    case 12:
1802
1794
      {
1803
1795
        
1804
 
      // Array of basisvalues.
 
1796
      // Array of basisvalues
1805
1797
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1806
1798
      
1807
 
      // Declare helper variables.
 
1799
      // Declare helper variables
1808
1800
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1809
1801
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1810
1802
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1811
1803
      double tmp3 = 0.5*(1.0 - Z);
1812
1804
      double tmp4 = tmp3*tmp3;
1813
1805
      
1814
 
      // Compute basisvalues.
 
1806
      // Compute basisvalues
1815
1807
      basisvalues[0] = 1.0;
1816
1808
      basisvalues[1] = tmp0;
1817
1809
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
1925
1917
      basisvalues[36] *= std::sqrt(175.5);
1926
1918
      basisvalues[35] *= std::sqrt(214.5);
1927
1919
      
1928
 
      // Table(s) of coefficients.
 
1920
      // Table(s) of coefficients
1929
1921
      static const double coefficients0[56] = \
1930
1922
      {-0.010023442, 0.032451596, -0.0335504, -0.0080106051, 0.021178387, 0.0010936472, -0.016966225, -0.0056827576, 0.0056710526, 0.0083846285, 0.020878719, -0.010923552, -0.016251922, 0.0049900253, 0.0095824315, 0.010892267, -0.0018789081, -0.0046645889, -0.0055800725, -0.0046972703, 0.013934356, -0.0024577893, -0.012090725, -0.0041544222, 0.0046447852, 0.0096540048, 0.0064360032, -0.00071956703, -0.0049853066, -0.0066145394, -0.0046447852, -0.00041544222, 0.0021587011, 0.0032313821, 0.0029080955, 0.0, 0.012764667, -0.0011652494, -0.020263281, -0.0071935734, 0.0018383222, 0.022834131, 0.011290833, 0.0031073316, -0.0020182711, -0.020635115, -0.011436869, -0.0048138574, -0.00052111535, 0.0017019556, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
1931
1923
      
1932
 
      // Compute value(s).
 
1924
      // Compute value(s)
1933
1925
      for (unsigned int r = 0; r < 56; r++)
1934
1926
      {
1935
1927
        *values += coefficients0[r]*basisvalues[r];
1939
1931
    case 13:
1940
1932
      {
1941
1933
        
1942
 
      // Array of basisvalues.
 
1934
      // Array of basisvalues
1943
1935
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1944
1936
      
1945
 
      // Declare helper variables.
 
1937
      // Declare helper variables
1946
1938
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
1947
1939
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
1948
1940
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
1949
1941
      double tmp3 = 0.5*(1.0 - Z);
1950
1942
      double tmp4 = tmp3*tmp3;
1951
1943
      
1952
 
      // Compute basisvalues.
 
1944
      // Compute basisvalues
1953
1945
      basisvalues[0] = 1.0;
1954
1946
      basisvalues[1] = tmp0;
1955
1947
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2063
2055
      basisvalues[36] *= std::sqrt(175.5);
2064
2056
      basisvalues[35] *= std::sqrt(214.5);
2065
2057
      
2066
 
      // Table(s) of coefficients.
 
2058
      // Table(s) of coefficients
2067
2059
      static const double coefficients0[56] = \
2068
2060
      {0.010023442, -0.024904713, 0.055336373, -0.0043134027, -0.014118925, 0.015311061, 0.0080366328, 0.0088398451, -0.015982057, 0.00072909813, -0.0029826742, 0.027729018, -0.001455396, -0.03015711, -0.01164923, 0.0035284807, 0.019164863, 0.009763093, 0.0013285887, -0.0026304714, 0.0, 0.019662314, -0.0021983136, -0.0072702388, -0.014863313, 0.004022502, -0.0072405036, 0.012952207, 0.0068547966, -0.0045792965, 0.0092895704, -0.0066470755, -0.0057565362, -0.00029376201, 0.0029080955, 0.0, 0.0, 0.0, 0.020263281, -0.0041106133, 0.00045958054, -0.039959729, -0.0030398396, 0.004272581, -0.0010091355, 0.046429009, 0.0090822199, -0.0027077948, -0.0023450191, 0.0012764667, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
2069
2061
      
2070
 
      // Compute value(s).
 
2062
      // Compute value(s)
2071
2063
      for (unsigned int r = 0; r < 56; r++)
2072
2064
      {
2073
2065
        *values += coefficients0[r]*basisvalues[r];
2077
2069
    case 14:
2078
2070
      {
2079
2071
        
2080
 
      // Array of basisvalues.
 
2072
      // Array of basisvalues
2081
2073
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2082
2074
      
2083
 
      // Declare helper variables.
 
2075
      // Declare helper variables
2084
2076
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2085
2077
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2086
2078
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2087
2079
      double tmp3 = 0.5*(1.0 - Z);
2088
2080
      double tmp4 = tmp3*tmp3;
2089
2081
      
2090
 
      // Compute basisvalues.
 
2082
      // Compute basisvalues
2091
2083
      basisvalues[0] = 1.0;
2092
2084
      basisvalues[1] = tmp0;
2093
2085
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2201
2193
      basisvalues[36] *= std::sqrt(175.5);
2202
2194
      basisvalues[35] *= std::sqrt(214.5);
2203
2195
      
2204
 
      // Table(s) of coefficients.
 
2196
      // Table(s) of coefficients
2205
2197
      static const double coefficients0[56] = \
2206
2198
      {0.010023442, 0.035470349, -0.049236301, -0.0043134027, 0.014118925, -0.0065618832, -0.0098225512, -0.016416855, 0.014950957, 0.00072909813, 0.0, 0.003361093, -0.00048513199, 0.028204491, -0.012400794, 0.0029148319, -0.035323473, 0.0088952625, 0.0023914596, -0.0026304714, 0.0, 0.0, 0.0, 0.021810716, -0.0055737422, 0.0008045004, -0.004022502, -0.014391341, 0.0093474499, -0.0025440536, -0.0092895704, 0.014125035, -0.0028782681, -0.0038189061, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.026639819, -0.0091195187, 0.0023304987, -0.00033637851, -0.051587788, 0.0084094629, 0.0030086609, -0.0028661344, 0.00085097781, 0.04254889, -0.0038841645, -0.0034741024, 0.0012034644, 0.00098262453, -0.00086852559};
2207
2199
      
2208
 
      // Compute value(s).
 
2200
      // Compute value(s)
2209
2201
      for (unsigned int r = 0; r < 56; r++)
2210
2202
      {
2211
2203
        *values += coefficients0[r]*basisvalues[r];
2215
2207
    case 15:
2216
2208
      {
2217
2209
        
2218
 
      // Array of basisvalues.
 
2210
      // Array of basisvalues
2219
2211
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2220
2212
      
2221
 
      // Declare helper variables.
 
2213
      // Declare helper variables
2222
2214
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2223
2215
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2224
2216
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2225
2217
      double tmp3 = 0.5*(1.0 - Z);
2226
2218
      double tmp4 = tmp3*tmp3;
2227
2219
      
2228
 
      // Compute basisvalues.
 
2220
      // Compute basisvalues
2229
2221
      basisvalues[0] = 1.0;
2230
2222
      basisvalues[1] = tmp0;
2231
2223
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2339
2331
      basisvalues[36] *= std::sqrt(175.5);
2340
2332
      basisvalues[35] *= std::sqrt(214.5);
2341
2333
      
2342
 
      // Table(s) of coefficients.
 
2334
      // Table(s) of coefficients
2343
2335
      static const double coefficients0[56] = \
2344
2336
      {-0.010023442, -0.012829701, 0.044879106, -0.0080106051, 0.0, 0.017498355, -0.0035718368, 0.013259768, -0.017528708, 0.0083846285, 0.0, 0.0, 0.0, 0.0086783049, -0.003006253, 0.00061364883, 0.022546898, -0.01920075, 0.012223016, -0.0046972703, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.016090008, -0.0071956703, 0.0024926533, -0.00050881073, 0.0046447852, -0.010801498, 0.010793505, -0.0073440502, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.025793894, -0.013455141, 0.0060173218, -0.0020844614, 0.0004254889, -0.031911668, 0.013594576, -0.0034741024, -0.00090259827, 0.0017195929, -0.00086852559};
2345
2337
      
2346
 
      // Compute value(s).
 
2338
      // Compute value(s)
2347
2339
      for (unsigned int r = 0; r < 56; r++)
2348
2340
      {
2349
2341
        *values += coefficients0[r]*basisvalues[r];
2353
2345
    case 16:
2354
2346
      {
2355
2347
        
2356
 
      // Array of basisvalues.
 
2348
      // Array of basisvalues
2357
2349
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2358
2350
      
2359
 
      // Declare helper variables.
 
2351
      // Declare helper variables
2360
2352
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2361
2353
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2362
2354
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2363
2355
      double tmp3 = 0.5*(1.0 - Z);
2364
2356
      double tmp4 = tmp3*tmp3;
2365
2357
      
2366
 
      // Compute basisvalues.
 
2358
      // Compute basisvalues
2367
2359
      basisvalues[0] = 1.0;
2368
2360
      basisvalues[1] = tmp0;
2369
2361
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2477
2469
      basisvalues[36] *= std::sqrt(175.5);
2478
2470
      basisvalues[35] *= std::sqrt(214.5);
2479
2471
      
2480
 
      // Table(s) of coefficients.
 
2472
      // Table(s) of coefficients
2481
2473
      static const double coefficients0[56] = \
2482
2474
      {-0.010023442, -0.032451596, -0.018735937, -0.028961418, 0.021178387, 0.016404708, -0.004464796, 0.0094712626, -0.0025777512, -0.0061973341, -0.020878719, -0.017645738, -0.0084898099, -0.01366833, -0.0065761785, -0.0023011831, -0.0078914141, -0.0037967584, -0.0013285887, -0.00018789081, 0.013934356, 0.012288947, 0.0010991568, 0.010386055, 0.00092895704, -0.0048270024, 0.008045004, 0.00071956703, -0.00373898, -0.005596918, 0.0046447852, 0.00041544222, -0.0021587011, -0.0032313821, -0.0029080955, 0.0, 0.0, 0.012817743, 0.0, 0.011304187, 0.018383222, 0.0, 0.0095537815, 0.015536658, 0.01816444, 0.0, 0.0074003273, 0.012034644, 0.014070115, 0.013615645, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
2483
2475
      
2484
 
      // Compute value(s).
 
2476
      // Compute value(s)
2485
2477
      for (unsigned int r = 0; r < 56; r++)
2486
2478
      {
2487
2479
        *values += coefficients0[r]*basisvalues[r];
2491
2483
    case 17:
2492
2484
      {
2493
2485
        
2494
 
      // Array of basisvalues.
 
2486
      // Array of basisvalues
2495
2487
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2496
2488
      
2497
 
      // Declare helper variables.
 
2489
      // Declare helper variables
2498
2490
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2499
2491
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2500
2492
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2501
2493
      double tmp3 = 0.5*(1.0 - Z);
2502
2494
      double tmp4 = tmp3*tmp3;
2503
2495
      
2504
 
      // Compute basisvalues.
 
2496
      // Compute basisvalues
2505
2497
      basisvalues[0] = 1.0;
2506
2498
      basisvalues[1] = tmp0;
2507
2499
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2615
2607
      basisvalues[36] *= std::sqrt(175.5);
2616
2608
      basisvalues[35] *= std::sqrt(214.5);
2617
2609
      
2618
 
      // Table(s) of coefficients.
 
2610
      // Table(s) of coefficients
2619
2611
      static const double coefficients0[56] = \
2620
2612
      {0.010023442, 0.024904713, 0.014378743, 0.053609434, -0.014118925, -0.010936472, -0.013394388, -0.0063141751, -0.0077332535, 0.015311061, 0.0029826742, 0.0025208198, 0.027652524, 0.0019526186, 0.021419553, 0.024392541, 0.0011273449, 0.012366584, 0.01408304, 0.010897667, 0.0, 0.0, -0.019784822, 0.0, -0.016721227, -0.0032180016, 0.0, -0.012952207, -0.0024926533, 0.010685025, 0.0, -0.0074779599, -0.0014391341, 0.0061690022, 0.0087242866, 0.0, 0.0, 0.0, 0.0, 0.0, -0.020681124, 0.0, 0.0, -0.01747874, -0.03632888, 0.0, 0.0, -0.013538974, -0.028140229, -0.035741068, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
2621
2613
      
2622
 
      // Compute value(s).
 
2614
      // Compute value(s)
2623
2615
      for (unsigned int r = 0; r < 56; r++)
2624
2616
      {
2625
2617
        *values += coefficients0[r]*basisvalues[r];
2629
2621
    case 18:
2630
2622
      {
2631
2623
        
2632
 
      // Array of basisvalues.
 
2624
      // Array of basisvalues
2633
2625
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2634
2626
      
2635
 
      // Declare helper variables.
 
2627
      // Declare helper variables
2636
2628
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2637
2629
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2638
2630
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2639
2631
      double tmp3 = 0.5*(1.0 - Z);
2640
2632
      double tmp4 = tmp3*tmp3;
2641
2633
      
2642
 
      // Compute basisvalues.
 
2634
      // Compute basisvalues
2643
2635
      basisvalues[0] = 1.0;
2644
2636
      basisvalues[1] = tmp0;
2645
2637
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2753
2745
      basisvalues[36] *= std::sqrt(175.5);
2754
2746
      basisvalues[35] *= std::sqrt(214.5);
2755
2747
      
2756
 
      // Table(s) of coefficients.
 
2748
      // Table(s) of coefficients
2757
2749
      static const double coefficients0[56] = \
2758
2750
      {0.010023442, -0.035470349, -0.020478815, -0.044982629, 0.014118925, 0.010936472, 0.004464796, 0.0063141751, 0.0025777512, -0.021143846, 0.0, 0.0, 0.0033959239, 0.0, 0.0026304714, -0.030835853, 0.0, 0.0015187034, -0.017803088, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.022526011, 0.0, 0.0, 0.017448573, -0.0035616751, 0.0, 0.0, 0.010073938, -0.0020563341, -0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.028255795, 0.0, 0.0, 0.0, 0.021886845, 0.047654757, 0.0, 0.0, 0.0, 0.012636376, 0.027513487, 0.030398396};
2759
2751
      
2760
 
      // Compute value(s).
 
2752
      // Compute value(s)
2761
2753
      for (unsigned int r = 0; r < 56; r++)
2762
2754
      {
2763
2755
        *values += coefficients0[r]*basisvalues[r];
2767
2759
    case 19:
2768
2760
      {
2769
2761
        
2770
 
      // Array of basisvalues.
 
2762
      // Array of basisvalues
2771
2763
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2772
2764
      
2773
 
      // Declare helper variables.
 
2765
      // Declare helper variables
2774
2766
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2775
2767
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2776
2768
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2777
2769
      double tmp3 = 0.5*(1.0 - Z);
2778
2770
      double tmp4 = tmp3*tmp3;
2779
2771
      
2780
 
      // Compute basisvalues.
 
2772
      // Compute basisvalues
2781
2773
      basisvalues[0] = 1.0;
2782
2774
      basisvalues[1] = tmp0;
2783
2775
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
2891
2883
      basisvalues[36] *= std::sqrt(175.5);
2892
2884
      basisvalues[35] *= std::sqrt(214.5);
2893
2885
      
2894
 
      // Table(s) of coefficients.
 
2886
      // Table(s) of coefficients
2895
2887
      static const double coefficients0[56] = \
2896
2888
      {-0.010023442, 0.012829701, 0.0074072311, 0.044982629, 0.0, 0.0, -0.017859184, 0.0, -0.010311005, 0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0092047324, 0.0, 0.0, -0.0053143547, 0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.017808375, 0.0, 0.0, 0.0, -0.01028167, 0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.029784223, 0.0, 0.0, 0.0, 0.0, -0.017195929, -0.030398396};
2897
2889
      
2898
 
      // Compute value(s).
 
2890
      // Compute value(s)
2899
2891
      for (unsigned int r = 0; r < 56; r++)
2900
2892
      {
2901
2893
        *values += coefficients0[r]*basisvalues[r];
2905
2897
    case 20:
2906
2898
      {
2907
2899
        
2908
 
      // Array of basisvalues.
 
2900
      // Array of basisvalues
2909
2901
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2910
2902
      
2911
 
      // Declare helper variables.
 
2903
      // Declare helper variables
2912
2904
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
2913
2905
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
2914
2906
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
2915
2907
      double tmp3 = 0.5*(1.0 - Z);
2916
2908
      double tmp4 = tmp3*tmp3;
2917
2909
      
2918
 
      // Compute basisvalues.
 
2910
      // Compute basisvalues
2919
2911
      basisvalues[0] = 1.0;
2920
2912
      basisvalues[1] = tmp0;
2921
2913
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3029
3021
      basisvalues[36] *= std::sqrt(175.5);
3030
3022
      basisvalues[35] *= std::sqrt(214.5);
3031
3023
      
3032
 
      // Table(s) of coefficients.
 
3024
      // Table(s) of coefficients
3033
3025
      static const double coefficients0[56] = \
3034
3026
      {-0.010023442, -0.032451596, -0.0335504, -0.0080106051, 0.021178387, -0.0010936472, 0.016966225, -0.0056827576, 0.0056710526, 0.0083846285, -0.020878719, -0.010923552, -0.016251922, -0.0049900253, -0.0095824315, -0.010892267, -0.0018789081, -0.0046645889, -0.0055800725, -0.0046972703, 0.013934356, 0.0024577893, 0.012090725, -0.0041544222, 0.0046447852, 0.0096540048, -0.0064360032, 0.00071956703, 0.0049853066, 0.0066145394, -0.0046447852, -0.00041544222, 0.0021587011, 0.0032313821, 0.0029080955, 0.0, 0.012764667, -0.0011652494, 0.020263281, 0.0071935734, -0.0018383222, 0.022834131, 0.011290833, 0.0031073316, -0.0020182711, 0.020635115, 0.011436869, 0.0048138574, 0.00052111535, -0.0017019556, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
3035
3027
      
3036
 
      // Compute value(s).
 
3028
      // Compute value(s)
3037
3029
      for (unsigned int r = 0; r < 56; r++)
3038
3030
      {
3039
3031
        *values += coefficients0[r]*basisvalues[r];
3043
3035
    case 21:
3044
3036
      {
3045
3037
        
3046
 
      // Array of basisvalues.
 
3038
      // Array of basisvalues
3047
3039
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3048
3040
      
3049
 
      // Declare helper variables.
 
3041
      // Declare helper variables
3050
3042
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3051
3043
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3052
3044
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3053
3045
      double tmp3 = 0.5*(1.0 - Z);
3054
3046
      double tmp4 = tmp3*tmp3;
3055
3047
      
3056
 
      // Compute basisvalues.
 
3048
      // Compute basisvalues
3057
3049
      basisvalues[0] = 1.0;
3058
3050
      basisvalues[1] = tmp0;
3059
3051
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3167
3159
      basisvalues[36] *= std::sqrt(175.5);
3168
3160
      basisvalues[35] *= std::sqrt(214.5);
3169
3161
      
3170
 
      // Table(s) of coefficients.
 
3162
      // Table(s) of coefficients
3171
3163
      static const double coefficients0[56] = \
3172
3164
      {0.010023442, 0.024904713, 0.055336373, -0.0043134027, -0.014118925, -0.015311061, -0.0080366328, 0.0088398451, -0.015982057, 0.00072909813, 0.0029826742, 0.027729018, -0.001455396, 0.03015711, 0.01164923, -0.0035284807, 0.019164863, 0.009763093, 0.0013285887, -0.0026304714, 0.0, -0.019662314, 0.0021983136, -0.0072702388, -0.014863313, 0.004022502, 0.0072405036, -0.012952207, -0.0068547966, 0.0045792965, 0.0092895704, -0.0066470755, -0.0057565362, -0.00029376201, 0.0029080955, 0.0, 0.0, 0.0, -0.020263281, 0.0041106133, -0.00045958054, -0.039959729, -0.0030398396, 0.004272581, -0.0010091355, -0.046429009, -0.0090822199, 0.0027077948, 0.0023450191, -0.0012764667, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
3173
3165
      
3174
 
      // Compute value(s).
 
3166
      // Compute value(s)
3175
3167
      for (unsigned int r = 0; r < 56; r++)
3176
3168
      {
3177
3169
        *values += coefficients0[r]*basisvalues[r];
3181
3173
    case 22:
3182
3174
      {
3183
3175
        
3184
 
      // Array of basisvalues.
 
3176
      // Array of basisvalues
3185
3177
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3186
3178
      
3187
 
      // Declare helper variables.
 
3179
      // Declare helper variables
3188
3180
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3189
3181
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3190
3182
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3191
3183
      double tmp3 = 0.5*(1.0 - Z);
3192
3184
      double tmp4 = tmp3*tmp3;
3193
3185
      
3194
 
      // Compute basisvalues.
 
3186
      // Compute basisvalues
3195
3187
      basisvalues[0] = 1.0;
3196
3188
      basisvalues[1] = tmp0;
3197
3189
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3305
3297
      basisvalues[36] *= std::sqrt(175.5);
3306
3298
      basisvalues[35] *= std::sqrt(214.5);
3307
3299
      
3308
 
      // Table(s) of coefficients.
 
3300
      // Table(s) of coefficients
3309
3301
      static const double coefficients0[56] = \
3310
3302
      {0.010023442, -0.035470349, -0.049236301, -0.0043134027, 0.014118925, 0.0065618832, 0.0098225512, -0.016416855, 0.014950957, 0.00072909813, 0.0, 0.003361093, -0.00048513199, -0.028204491, 0.012400794, -0.0029148319, -0.035323473, 0.0088952625, 0.0023914596, -0.0026304714, 0.0, 0.0, 0.0, 0.021810716, -0.0055737422, 0.0008045004, 0.004022502, 0.014391341, -0.0093474499, 0.0025440536, -0.0092895704, 0.014125035, -0.0028782681, -0.0038189061, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.026639819, -0.0091195187, 0.0023304987, -0.00033637851, 0.051587788, -0.0084094629, -0.0030086609, 0.0028661344, -0.00085097781, 0.04254889, -0.0038841645, -0.0034741024, 0.0012034644, 0.00098262453, -0.00086852559};
3311
3303
      
3312
 
      // Compute value(s).
 
3304
      // Compute value(s)
3313
3305
      for (unsigned int r = 0; r < 56; r++)
3314
3306
      {
3315
3307
        *values += coefficients0[r]*basisvalues[r];
3319
3311
    case 23:
3320
3312
      {
3321
3313
        
3322
 
      // Array of basisvalues.
 
3314
      // Array of basisvalues
3323
3315
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3324
3316
      
3325
 
      // Declare helper variables.
 
3317
      // Declare helper variables
3326
3318
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3327
3319
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3328
3320
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3329
3321
      double tmp3 = 0.5*(1.0 - Z);
3330
3322
      double tmp4 = tmp3*tmp3;
3331
3323
      
3332
 
      // Compute basisvalues.
 
3324
      // Compute basisvalues
3333
3325
      basisvalues[0] = 1.0;
3334
3326
      basisvalues[1] = tmp0;
3335
3327
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3443
3435
      basisvalues[36] *= std::sqrt(175.5);
3444
3436
      basisvalues[35] *= std::sqrt(214.5);
3445
3437
      
3446
 
      // Table(s) of coefficients.
 
3438
      // Table(s) of coefficients
3447
3439
      static const double coefficients0[56] = \
3448
3440
      {-0.010023442, 0.012829701, 0.044879106, -0.0080106051, 0.0, -0.017498355, 0.0035718368, 0.013259768, -0.017528708, 0.0083846285, 0.0, 0.0, 0.0, -0.0086783049, 0.003006253, -0.00061364883, 0.022546898, -0.01920075, 0.012223016, -0.0046972703, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.016090008, 0.0071956703, -0.0024926533, 0.00050881073, 0.0046447852, -0.010801498, 0.010793505, -0.0073440502, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.025793894, 0.013455141, -0.0060173218, 0.0020844614, -0.0004254889, -0.031911668, 0.013594576, -0.0034741024, -0.00090259827, 0.0017195929, -0.00086852559};
3449
3441
      
3450
 
      // Compute value(s).
 
3442
      // Compute value(s)
3451
3443
      for (unsigned int r = 0; r < 56; r++)
3452
3444
      {
3453
3445
        *values += coefficients0[r]*basisvalues[r];
3457
3449
    case 24:
3458
3450
      {
3459
3451
        
3460
 
      // Array of basisvalues.
 
3452
      // Array of basisvalues
3461
3453
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3462
3454
      
3463
 
      // Declare helper variables.
 
3455
      // Declare helper variables
3464
3456
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3465
3457
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3466
3458
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3467
3459
      double tmp3 = 0.5*(1.0 - Z);
3468
3460
      double tmp4 = tmp3*tmp3;
3469
3461
      
3470
 
      // Compute basisvalues.
 
3462
      // Compute basisvalues
3471
3463
      basisvalues[0] = 1.0;
3472
3464
      basisvalues[1] = tmp0;
3473
3465
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3581
3573
      basisvalues[36] *= std::sqrt(175.5);
3582
3574
      basisvalues[35] *= std::sqrt(214.5);
3583
3575
      
3584
 
      // Table(s) of coefficients.
 
3576
      // Table(s) of coefficients
3585
3577
      static const double coefficients0[56] = \
3586
3578
      {-0.010023442, -0.045281296, -0.011328706, -0.0080106051, -0.0014118925, 0.016404708, 0.013394388, 0.014522603, 0.011857655, 0.0083846285, -0.0089480226, -0.014284645, -0.012370866, -0.014536161, -0.012588684, -0.010278618, -0.0093945406, -0.0081359109, -0.0066429434, -0.0046972703, -0.0083606134, 0.0024577893, 0.0021983136, 0.0083088444, 0.0074316563, 0.0064360032, 0.0096540048, 0.0086348044, 0.0074779599, 0.0061057287, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, 0.035279676, 0.019147001, 0.01747874, 0.0078801648, 0.0071935734, 0.0064341276, 0.00095142211, 0.00086852559, 0.0007768329, 0.00067275703, -0.0022109052, -0.0020182711, -0.0018051965, -0.0015633461, -0.0012764667, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
3587
3579
      
3588
 
      // Compute value(s).
 
3580
      // Compute value(s)
3589
3581
      for (unsigned int r = 0; r < 56; r++)
3590
3582
      {
3591
3583
        *values += coefficients0[r]*basisvalues[r];
3595
3587
    case 25:
3596
3588
      {
3597
3589
        
3598
 
      // Array of basisvalues.
 
3590
      // Array of basisvalues
3599
3591
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3600
3592
      
3601
 
      // Declare helper variables.
 
3593
      // Declare helper variables
3602
3594
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3603
3595
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3604
3596
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3605
3597
      double tmp3 = 0.5*(1.0 - Z);
3606
3598
      double tmp4 = tmp3*tmp3;
3607
3599
      
3608
 
      // Compute basisvalues.
 
3600
      // Compute basisvalues
3609
3601
      basisvalues[0] = 1.0;
3610
3602
      basisvalues[1] = tmp0;
3611
3603
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3719
3711
      basisvalues[36] *= std::sqrt(175.5);
3720
3712
      basisvalues[35] *= std::sqrt(214.5);
3721
3713
      
3722
 
      // Table(s) of coefficients.
 
3714
      // Table(s) of coefficients
3723
3715
      static const double coefficients0[56] = \
3724
3716
      {0.010023442, 0.060375061, -0.0061000726, -0.0043134027, -0.0056475699, -0.021872944, -0.017859184, 0.001262835, 0.0010311005, 0.00072909813, 0.041757439, 0.016805465, 0.01455396, -0.00086783049, -0.00075156325, -0.00061364883, -0.0052609428, -0.0045561101, -0.0037200483, -0.0026304714, 0.0055737422, -0.019662314, -0.017586509, -0.010386055, -0.0092895704, -0.008045004, 0.0032180016, 0.0028782681, 0.0024926533, 0.0020352429, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, -0.070559352, -0.012764667, -0.011652494, 0.0045029513, 0.0041106133, 0.0036766443, 0.0038056885, 0.0034741024, 0.0031073316, 0.0026910281, -0.0007369684, -0.00067275703, -0.00060173218, -0.00052111535, -0.0004254889, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
3725
3717
      
3726
 
      // Compute value(s).
 
3718
      // Compute value(s)
3727
3719
      for (unsigned int r = 0; r < 56; r++)
3728
3720
      {
3729
3721
        *values += coefficients0[r]*basisvalues[r];
3733
3725
    case 26:
3734
3726
      {
3735
3727
        
3736
 
      // Array of basisvalues.
 
3728
      // Array of basisvalues
3737
3729
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3738
3730
      
3739
 
      // Declare helper variables.
 
3731
      // Declare helper variables
3740
3732
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3741
3733
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3742
3734
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3743
3735
      double tmp3 = 0.5*(1.0 - Z);
3744
3736
      double tmp4 = tmp3*tmp3;
3745
3737
      
3746
 
      // Compute basisvalues.
 
3738
      // Compute basisvalues
3747
3739
      basisvalues[0] = 1.0;
3748
3740
      basisvalues[1] = tmp0;
3749
3741
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3857
3849
      basisvalues[36] *= std::sqrt(175.5);
3858
3850
      basisvalues[35] *= std::sqrt(214.5);
3859
3851
      
3860
 
      // Table(s) of coefficients.
 
3852
      // Table(s) of coefficients
3861
3853
      static const double coefficients0[56] = \
3862
3854
      {0.010023442, -0.060375061, -0.0061000726, -0.0043134027, -0.0056475699, 0.021872944, 0.017859184, 0.001262835, 0.0010311005, 0.00072909813, -0.041757439, 0.016805465, 0.01455396, 0.00086783049, 0.00075156325, 0.00061364883, -0.0052609428, -0.0045561101, -0.0037200483, -0.0026304714, 0.0055737422, 0.019662314, 0.017586509, -0.010386055, -0.0092895704, -0.008045004, -0.0032180016, -0.0028782681, -0.0024926533, -0.0020352429, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, 0.070559352, -0.012764667, -0.011652494, -0.0045029513, -0.0041106133, -0.0036766443, 0.0038056885, 0.0034741024, 0.0031073316, 0.0026910281, 0.0007369684, 0.00067275703, 0.00060173218, 0.00052111535, 0.0004254889, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
3863
3855
      
3864
 
      // Compute value(s).
 
3856
      // Compute value(s)
3865
3857
      for (unsigned int r = 0; r < 56; r++)
3866
3858
      {
3867
3859
        *values += coefficients0[r]*basisvalues[r];
3871
3863
    case 27:
3872
3864
      {
3873
3865
        
3874
 
      // Array of basisvalues.
 
3866
      // Array of basisvalues
3875
3867
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
3876
3868
      
3877
 
      // Declare helper variables.
 
3869
      // Declare helper variables
3878
3870
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
3879
3871
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
3880
3872
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
3881
3873
      double tmp3 = 0.5*(1.0 - Z);
3882
3874
      double tmp4 = tmp3*tmp3;
3883
3875
      
3884
 
      // Compute basisvalues.
 
3876
      // Compute basisvalues
3885
3877
      basisvalues[0] = 1.0;
3886
3878
      basisvalues[1] = tmp0;
3887
3879
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
3995
3987
      basisvalues[36] *= std::sqrt(175.5);
3996
3988
      basisvalues[35] *= std::sqrt(214.5);
3997
3989
      
3998
 
      // Table(s) of coefficients.
 
3990
      // Table(s) of coefficients
3999
3991
      static const double coefficients0[56] = \
4000
3992
      {-0.010023442, 0.045281296, -0.011328706, -0.0080106051, -0.0014118925, -0.016404708, -0.013394388, 0.014522603, 0.011857655, 0.0083846285, 0.0089480226, -0.014284645, -0.012370866, 0.014536161, 0.012588684, 0.010278618, -0.0093945406, -0.0081359109, -0.0066429434, -0.0046972703, -0.0083606134, -0.0024577893, -0.0021983136, 0.0083088444, 0.0074316563, 0.0064360032, -0.0096540048, -0.0086348044, -0.0074779599, -0.0061057287, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, -0.035279676, 0.019147001, 0.01747874, -0.0078801648, -0.0071935734, -0.0064341276, 0.00095142211, 0.00086852559, 0.0007768329, 0.00067275703, 0.0022109052, 0.0020182711, 0.0018051965, 0.0015633461, 0.0012764667, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
4001
3993
      
4002
 
      // Compute value(s).
 
3994
      // Compute value(s)
4003
3995
      for (unsigned int r = 0; r < 56; r++)
4004
3996
      {
4005
3997
        *values += coefficients0[r]*basisvalues[r];
4009
4001
    case 28:
4010
4002
      {
4011
4003
        
4012
 
      // Array of basisvalues.
 
4004
      // Array of basisvalues
4013
4005
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4014
4006
      
4015
 
      // Declare helper variables.
 
4007
      // Declare helper variables
4016
4008
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4017
4009
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4018
4010
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4019
4011
      double tmp3 = 0.5*(1.0 - Z);
4020
4012
      double tmp4 = tmp3*tmp3;
4021
4013
      
4022
 
      // Compute basisvalues.
 
4014
      // Compute basisvalues
4023
4015
      basisvalues[0] = 1.0;
4024
4016
      basisvalues[1] = tmp0;
4025
4017
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4133
4125
      basisvalues[36] *= std::sqrt(175.5);
4134
4126
      basisvalues[35] *= std::sqrt(214.5);
4135
4127
      
4136
 
      // Table(s) of coefficients.
 
4128
      // Table(s) of coefficients
4137
4129
      static const double coefficients0[56] = \
4138
4130
      {0.078755617, 0.067921944, -0.0043571947, -0.003081002, 0.070594623, -0.032809416, -0.026788776, 0.01262835, 0.036088516, -0.0072909813, 0.029826742, 0.015124919, 0.013098564, -0.032543643, -0.022922679, -0.024852777, 0.024801587, 0.016922695, 0.0164745, 0.014279702, 0.0, 0.024577893, 0.021983136, -0.036351194, -0.0074316563, -0.034593517, 0.036202518, 0.0, 0.01308643, 0.033581508, -0.023223926, 0.0016617689, -0.0035978352, -0.0146881, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.022608373, -0.0045958054, 0.0, -0.033438235, -0.019420823, 0.0090822199, 0.0, 0.033301473, 0.027077948, 0.0070350573, -0.010211734, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
4139
4131
      
4140
 
      // Compute value(s).
 
4132
      // Compute value(s)
4141
4133
      for (unsigned int r = 0; r < 56; r++)
4142
4134
      {
4143
4135
        *values += coefficients0[r]*basisvalues[r];
4147
4139
    case 29:
4148
4140
      {
4149
4141
        
4150
 
      // Array of basisvalues.
 
4142
      // Array of basisvalues
4151
4143
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4152
4144
      
4153
 
      // Declare helper variables.
 
4145
      // Declare helper variables
4154
4146
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4155
4147
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4156
4148
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4157
4149
      double tmp3 = 0.5*(1.0 - Z);
4158
4150
      double tmp4 = tmp3*tmp3;
4159
4151
      
4160
 
      // Compute basisvalues.
 
4152
      // Compute basisvalues
4161
4153
      basisvalues[0] = 1.0;
4162
4154
      basisvalues[1] = tmp0;
4163
4155
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4271
4263
      basisvalues[36] *= std::sqrt(175.5);
4272
4264
      basisvalues[35] *= std::sqrt(214.5);
4273
4265
      
4274
 
      // Table(s) of coefficients.
 
4266
      // Table(s) of coefficients
4275
4267
      static const double coefficients0[56] = \
4276
4268
      {-0.021478805, 0.0037734413, 0.0021785974, -0.021567014, 0.0, 0.098428248, -0.031253572, -0.085241363, -0.018044258, 0.030986671, 0.0, 0.045374756, -0.011643168, 0.0, 0.023674242, -0.0013807099, -0.020292208, -0.033519953, -0.00079715321, 0.0039457071, 0.0, 0.0, 0.0, 0.036351194, 0.024152883, -0.0072405036, -0.06033753, 0.0, -0.03925929, 0.018825997, 0.046447852, -0.010801498, 0.025904413, 0.010869194, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.033438235, -0.015536658, 0.0030274066, 0.0, -0.055502455, 0.0, 0.016415134, -0.0068078225, 0.0, 0.04272581, 0.0069482047, -0.010831179, -0.0039304981, 0.0060796791};
4277
4269
      
4278
 
      // Compute value(s).
 
4270
      // Compute value(s)
4279
4271
      for (unsigned int r = 0; r < 56; r++)
4280
4272
      {
4281
4273
        *values += coefficients0[r]*basisvalues[r];
4285
4277
    case 30:
4286
4278
      {
4287
4279
        
4288
 
      // Array of basisvalues.
 
4280
      // Array of basisvalues
4289
4281
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4290
4282
      
4291
 
      // Declare helper variables.
 
4283
      // Declare helper variables
4292
4284
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4293
4285
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4294
4286
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4295
4287
      double tmp3 = 0.5*(1.0 - Z);
4296
4288
      double tmp4 = tmp3*tmp3;
4297
4289
      
4298
 
      // Compute basisvalues.
 
4290
      // Compute basisvalues
4299
4291
      basisvalues[0] = 1.0;
4300
4292
      basisvalues[1] = tmp0;
4301
4293
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4409
4401
      basisvalues[36] *= std::sqrt(175.5);
4410
4402
      basisvalues[35] *= std::sqrt(214.5);
4411
4403
      
4412
 
      // Table(s) of coefficients.
 
4404
      // Table(s) of coefficients
4413
4405
      static const double coefficients0[56] = \
4414
4406
      {0.078755617, 0.030187531, 0.061000726, -0.003081002, 0.0, 0.021872944, 0.017859184, 0.075770101, -0.041244019, -0.0072909813, 0.0, 0.0, 0.0, 0.052069829, -0.012776575, 0.0018409465, -0.009018759, 0.028638406, -0.029760386, 0.014279702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04022502, 0.014391341, -0.013709593, 0.0040704858, -0.046447852, 0.018279458, -0.034539217, 0.036426489, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.037001637, -0.030086609, 0.014070115, -0.0034039112, 0.0, -0.04272581, 0.024318717, 0.0, -0.0098262453, 0.0060796791};
4415
4407
      
4416
 
      // Compute value(s).
 
4408
      // Compute value(s)
4417
4409
      for (unsigned int r = 0; r < 56; r++)
4418
4410
      {
4419
4411
        *values += coefficients0[r]*basisvalues[r];
4423
4415
    case 31:
4424
4416
      {
4425
4417
        
4426
 
      // Array of basisvalues.
 
4418
      // Array of basisvalues
4427
4419
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4428
4420
      
4429
 
      // Declare helper variables.
 
4421
      // Declare helper variables
4430
4422
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4431
4423
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4432
4424
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4433
4425
      double tmp3 = 0.5*(1.0 - Z);
4434
4426
      double tmp4 = tmp3*tmp3;
4435
4427
      
4436
 
      // Compute basisvalues.
 
4428
      // Compute basisvalues
4437
4429
      basisvalues[0] = 1.0;
4438
4430
      basisvalues[1] = tmp0;
4439
4431
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4547
4539
      basisvalues[36] *= std::sqrt(175.5);
4548
4540
      basisvalues[35] *= std::sqrt(214.5);
4549
4541
      
4550
 
      // Table(s) of coefficients.
 
4542
      // Table(s) of coefficients
4551
4543
      static const double coefficients0[56] = \
4552
4544
      {-0.021478805, 0.0037734413, -0.019607376, 0.0092430059, 0.0, -0.010936472, 0.10269031, 0.0094712626, -0.069599282, -0.060150596, 0.0, -0.0050416396, 0.046572671, 0.0065087287, 0.021419553, -0.0078240225, -0.0045093795, -0.028963843, -0.026306056, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.033442453, 0.028962014, 0.0, -0.043174022, -0.0024926533, -0.060548476, 0.0, 0.02991184, -0.0043174022, 0.018507007, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034957481, -0.012109627, 0.0, 0.0, -0.045129913, -0.028140229, 0.023827379, 0.0, 0.0, 0.031266921, 0.027077948, 0.0, -0.018239037};
4553
4545
      
4554
 
      // Compute value(s).
 
4546
      // Compute value(s)
4555
4547
      for (unsigned int r = 0; r < 56; r++)
4556
4548
      {
4557
4549
        *values += coefficients0[r]*basisvalues[r];
4561
4553
    case 32:
4562
4554
      {
4563
4555
        
4564
 
      // Array of basisvalues.
 
4556
      // Array of basisvalues
4565
4557
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4566
4558
      
4567
 
      // Declare helper variables.
 
4559
      // Declare helper variables
4568
4560
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4569
4561
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4570
4562
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4571
4563
      double tmp3 = 0.5*(1.0 - Z);
4572
4564
      double tmp4 = tmp3*tmp3;
4573
4565
      
4574
 
      // Compute basisvalues.
 
4566
      // Compute basisvalues
4575
4567
      basisvalues[0] = 1.0;
4576
4568
      basisvalues[1] = tmp0;
4577
4569
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4685
4677
      basisvalues[36] *= std::sqrt(175.5);
4686
4678
      basisvalues[35] *= std::sqrt(214.5);
4687
4679
      
4688
 
      // Table(s) of coefficients.
 
4680
      // Table(s) of coefficients
4689
4681
      static const double coefficients0[56] = \
4690
4682
      {-0.021478805, -0.015093765, 0.013071584, 0.0092430059, 0.0, -0.010936472, -0.008929592, 0.0094712626, 0.12373206, -0.060150596, 0.0, 0.0, 0.0, -0.0065087287, 0.057494589, -0.026693724, 0.0067640693, 0.012692021, 0.0063772257, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.043174022, 0.019941226, -0.0142467, 0.0, -0.04486776, 0.021587011, -0.061690022, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.045129913, -0.037520305, 0.011913689, 0.0, 0.0, -0.046900382, 0.016246769, 0.020635115, -0.018239037};
4691
4683
      
4692
 
      // Compute value(s).
 
4684
      // Compute value(s)
4693
4685
      for (unsigned int r = 0; r < 56; r++)
4694
4686
      {
4695
4687
        *values += coefficients0[r]*basisvalues[r];
4699
4691
    case 33:
4700
4692
      {
4701
4693
        
4702
 
      // Array of basisvalues.
 
4694
      // Array of basisvalues
4703
4695
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4704
4696
      
4705
 
      // Declare helper variables.
 
4697
      // Declare helper variables
4706
4698
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4707
4699
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4708
4700
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4709
4701
      double tmp3 = 0.5*(1.0 - Z);
4710
4702
      double tmp4 = tmp3*tmp3;
4711
4703
      
4712
 
      // Compute basisvalues.
 
4704
      // Compute basisvalues
4713
4705
      basisvalues[0] = 1.0;
4714
4706
      basisvalues[1] = tmp0;
4715
4707
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4823
4815
      basisvalues[36] *= std::sqrt(175.5);
4824
4816
      basisvalues[35] *= std::sqrt(214.5);
4825
4817
      
4826
 
      // Table(s) of coefficients.
 
4818
      // Table(s) of coefficients
4827
4819
      static const double coefficients0[56] = \
4828
4820
      {0.078755617, 0.030187531, 0.017428779, 0.058539037, 0.0, 0.021872944, 0.017859184, -0.018942525, 0.010311005, 0.083846285, 0.0, 0.0, 0.0, 0.0, 0.0052609428, 0.053387448, 0.0, -0.0045561101, 0.030823257, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034897146, 0.028493401, 0.0, 0.0, -0.030221815, 0.016450673, -0.064393544, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04377369, -0.023827379, 0.0, 0.0, 0.0, -0.037909127, -0.013756743, 0.030398396};
4829
4821
      
4830
 
      // Compute value(s).
 
4822
      // Compute value(s)
4831
4823
      for (unsigned int r = 0; r < 56; r++)
4832
4824
      {
4833
4825
        *values += coefficients0[r]*basisvalues[r];
4837
4829
    case 34:
4838
4830
      {
4839
4831
        
4840
 
      // Array of basisvalues.
 
4832
      // Array of basisvalues
4841
4833
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4842
4834
      
4843
 
      // Declare helper variables.
 
4835
      // Declare helper variables
4844
4836
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4845
4837
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4846
4838
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4847
4839
      double tmp3 = 0.5*(1.0 - Z);
4848
4840
      double tmp4 = tmp3*tmp3;
4849
4841
      
4850
 
      // Compute basisvalues.
 
4842
      // Compute basisvalues
4851
4843
      basisvalues[0] = 1.0;
4852
4844
      basisvalues[1] = tmp0;
4853
4845
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
4961
4953
      basisvalues[36] *= std::sqrt(175.5);
4962
4954
      basisvalues[35] *= std::sqrt(214.5);
4963
4955
      
4964
 
      // Table(s) of coefficients.
 
4956
      // Table(s) of coefficients
4965
4957
      static const double coefficients0[56] = \
4966
4958
      {0.078755617, -0.067921944, -0.0043571947, -0.003081002, 0.070594623, 0.032809416, 0.026788776, 0.01262835, 0.036088516, -0.0072909813, -0.029826742, 0.015124919, 0.013098564, 0.032543643, 0.022922679, 0.024852777, 0.024801587, 0.016922695, 0.0164745, 0.014279702, 0.0, -0.024577893, -0.021983136, -0.036351194, -0.0074316563, -0.034593517, -0.036202518, 0.0, -0.01308643, -0.033581508, -0.023223926, 0.0016617689, -0.0035978352, -0.0146881, -0.017864015, 0.0, 0.0, 0.0, 0.0, -0.022608373, 0.0045958054, 0.0, -0.033438235, -0.019420823, 0.0090822199, 0.0, -0.033301473, -0.027077948, -0.0070350573, 0.010211734, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
4967
4959
      
4968
 
      // Compute value(s).
 
4960
      // Compute value(s)
4969
4961
      for (unsigned int r = 0; r < 56; r++)
4970
4962
      {
4971
4963
        *values += coefficients0[r]*basisvalues[r];
4975
4967
    case 35:
4976
4968
      {
4977
4969
        
4978
 
      // Array of basisvalues.
 
4970
      // Array of basisvalues
4979
4971
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4980
4972
      
4981
 
      // Declare helper variables.
 
4973
      // Declare helper variables
4982
4974
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
4983
4975
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
4984
4976
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
4985
4977
      double tmp3 = 0.5*(1.0 - Z);
4986
4978
      double tmp4 = tmp3*tmp3;
4987
4979
      
4988
 
      // Compute basisvalues.
 
4980
      // Compute basisvalues
4989
4981
      basisvalues[0] = 1.0;
4990
4982
      basisvalues[1] = tmp0;
4991
4983
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5099
5091
      basisvalues[36] *= std::sqrt(175.5);
5100
5092
      basisvalues[35] *= std::sqrt(214.5);
5101
5093
      
5102
 
      // Table(s) of coefficients.
 
5094
      // Table(s) of coefficients
5103
5095
      static const double coefficients0[56] = \
5104
5096
      {-0.021478805, -0.0037734413, 0.0021785974, -0.021567014, 0.0, -0.098428248, 0.031253572, -0.085241363, -0.018044258, 0.030986671, 0.0, 0.045374756, -0.011643168, 0.0, -0.023674242, 0.0013807099, -0.020292208, -0.033519953, -0.00079715321, 0.0039457071, 0.0, 0.0, 0.0, 0.036351194, 0.024152883, -0.0072405036, 0.06033753, 0.0, 0.03925929, -0.018825997, 0.046447852, -0.010801498, 0.025904413, 0.010869194, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.033438235, -0.015536658, 0.0030274066, 0.0, 0.055502455, 0.0, -0.016415134, 0.0068078225, 0.0, 0.04272581, 0.0069482047, -0.010831179, -0.0039304981, 0.0060796791};
5105
5097
      
5106
 
      // Compute value(s).
 
5098
      // Compute value(s)
5107
5099
      for (unsigned int r = 0; r < 56; r++)
5108
5100
      {
5109
5101
        *values += coefficients0[r]*basisvalues[r];
5113
5105
    case 36:
5114
5106
      {
5115
5107
        
5116
 
      // Array of basisvalues.
 
5108
      // Array of basisvalues
5117
5109
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5118
5110
      
5119
 
      // Declare helper variables.
 
5111
      // Declare helper variables
5120
5112
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5121
5113
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5122
5114
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5123
5115
      double tmp3 = 0.5*(1.0 - Z);
5124
5116
      double tmp4 = tmp3*tmp3;
5125
5117
      
5126
 
      // Compute basisvalues.
 
5118
      // Compute basisvalues
5127
5119
      basisvalues[0] = 1.0;
5128
5120
      basisvalues[1] = tmp0;
5129
5121
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5237
5229
      basisvalues[36] *= std::sqrt(175.5);
5238
5230
      basisvalues[35] *= std::sqrt(214.5);
5239
5231
      
5240
 
      // Table(s) of coefficients.
 
5232
      // Table(s) of coefficients
5241
5233
      static const double coefficients0[56] = \
5242
5234
      {0.078755617, -0.030187531, 0.061000726, -0.003081002, 0.0, -0.021872944, -0.017859184, 0.075770101, -0.041244019, -0.0072909813, 0.0, 0.0, 0.0, -0.052069829, 0.012776575, -0.0018409465, -0.009018759, 0.028638406, -0.029760386, 0.014279702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.04022502, -0.014391341, 0.013709593, -0.0040704858, -0.046447852, 0.018279458, -0.034539217, 0.036426489, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.037001637, 0.030086609, -0.014070115, 0.0034039112, 0.0, -0.04272581, 0.024318717, 0.0, -0.0098262453, 0.0060796791};
5243
5235
      
5244
 
      // Compute value(s).
 
5236
      // Compute value(s)
5245
5237
      for (unsigned int r = 0; r < 56; r++)
5246
5238
      {
5247
5239
        *values += coefficients0[r]*basisvalues[r];
5251
5243
    case 37:
5252
5244
      {
5253
5245
        
5254
 
      // Array of basisvalues.
 
5246
      // Array of basisvalues
5255
5247
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5256
5248
      
5257
 
      // Declare helper variables.
 
5249
      // Declare helper variables
5258
5250
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5259
5251
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5260
5252
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5261
5253
      double tmp3 = 0.5*(1.0 - Z);
5262
5254
      double tmp4 = tmp3*tmp3;
5263
5255
      
5264
 
      // Compute basisvalues.
 
5256
      // Compute basisvalues
5265
5257
      basisvalues[0] = 1.0;
5266
5258
      basisvalues[1] = tmp0;
5267
5259
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5375
5367
      basisvalues[36] *= std::sqrt(175.5);
5376
5368
      basisvalues[35] *= std::sqrt(214.5);
5377
5369
      
5378
 
      // Table(s) of coefficients.
 
5370
      // Table(s) of coefficients
5379
5371
      static const double coefficients0[56] = \
5380
5372
      {-0.021478805, -0.0037734413, -0.019607376, 0.0092430059, 0.0, 0.010936472, -0.10269031, 0.0094712626, -0.069599282, -0.060150596, 0.0, -0.0050416396, 0.046572671, -0.0065087287, -0.021419553, 0.0078240225, -0.0045093795, -0.028963843, -0.026306056, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.033442453, 0.028962014, 0.0, 0.043174022, 0.0024926533, 0.060548476, 0.0, 0.02991184, -0.0043174022, 0.018507007, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034957481, -0.012109627, 0.0, 0.0, 0.045129913, 0.028140229, -0.023827379, 0.0, 0.0, 0.031266921, 0.027077948, 0.0, -0.018239037};
5381
5373
      
5382
 
      // Compute value(s).
 
5374
      // Compute value(s)
5383
5375
      for (unsigned int r = 0; r < 56; r++)
5384
5376
      {
5385
5377
        *values += coefficients0[r]*basisvalues[r];
5389
5381
    case 38:
5390
5382
      {
5391
5383
        
5392
 
      // Array of basisvalues.
 
5384
      // Array of basisvalues
5393
5385
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5394
5386
      
5395
 
      // Declare helper variables.
 
5387
      // Declare helper variables
5396
5388
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5397
5389
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5398
5390
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5399
5391
      double tmp3 = 0.5*(1.0 - Z);
5400
5392
      double tmp4 = tmp3*tmp3;
5401
5393
      
5402
 
      // Compute basisvalues.
 
5394
      // Compute basisvalues
5403
5395
      basisvalues[0] = 1.0;
5404
5396
      basisvalues[1] = tmp0;
5405
5397
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5513
5505
      basisvalues[36] *= std::sqrt(175.5);
5514
5506
      basisvalues[35] *= std::sqrt(214.5);
5515
5507
      
5516
 
      // Table(s) of coefficients.
 
5508
      // Table(s) of coefficients
5517
5509
      static const double coefficients0[56] = \
5518
5510
      {-0.021478805, 0.015093765, 0.013071584, 0.0092430059, 0.0, 0.010936472, 0.008929592, 0.0094712626, 0.12373206, -0.060150596, 0.0, 0.0, 0.0, 0.0065087287, -0.057494589, 0.026693724, 0.0067640693, 0.012692021, 0.0063772257, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.043174022, -0.019941226, 0.0142467, 0.0, -0.04486776, 0.021587011, -0.061690022, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.045129913, 0.037520305, -0.011913689, 0.0, 0.0, -0.046900382, 0.016246769, 0.020635115, -0.018239037};
5519
5511
      
5520
 
      // Compute value(s).
 
5512
      // Compute value(s)
5521
5513
      for (unsigned int r = 0; r < 56; r++)
5522
5514
      {
5523
5515
        *values += coefficients0[r]*basisvalues[r];
5527
5519
    case 39:
5528
5520
      {
5529
5521
        
5530
 
      // Array of basisvalues.
 
5522
      // Array of basisvalues
5531
5523
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5532
5524
      
5533
 
      // Declare helper variables.
 
5525
      // Declare helper variables
5534
5526
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5535
5527
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5536
5528
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5537
5529
      double tmp3 = 0.5*(1.0 - Z);
5538
5530
      double tmp4 = tmp3*tmp3;
5539
5531
      
5540
 
      // Compute basisvalues.
 
5532
      // Compute basisvalues
5541
5533
      basisvalues[0] = 1.0;
5542
5534
      basisvalues[1] = tmp0;
5543
5535
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5651
5643
      basisvalues[36] *= std::sqrt(175.5);
5652
5644
      basisvalues[35] *= std::sqrt(214.5);
5653
5645
      
5654
 
      // Table(s) of coefficients.
 
5646
      // Table(s) of coefficients
5655
5647
      static const double coefficients0[56] = \
5656
5648
      {0.078755617, -0.030187531, 0.017428779, 0.058539037, 0.0, -0.021872944, -0.017859184, -0.018942525, 0.010311005, 0.083846285, 0.0, 0.0, 0.0, 0.0, -0.0052609428, -0.053387448, 0.0, -0.0045561101, 0.030823257, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.034897146, -0.028493401, 0.0, 0.0, -0.030221815, 0.016450673, -0.064393544, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.04377369, 0.023827379, 0.0, 0.0, 0.0, -0.037909127, -0.013756743, 0.030398396};
5657
5649
      
5658
 
      // Compute value(s).
 
5650
      // Compute value(s)
5659
5651
      for (unsigned int r = 0; r < 56; r++)
5660
5652
      {
5661
5653
        *values += coefficients0[r]*basisvalues[r];
5665
5657
    case 40:
5666
5658
      {
5667
5659
        
5668
 
      // Array of basisvalues.
 
5660
      // Array of basisvalues
5669
5661
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5670
5662
      
5671
 
      // Declare helper variables.
 
5663
      // Declare helper variables
5672
5664
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5673
5665
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5674
5666
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5675
5667
      double tmp3 = 0.5*(1.0 - Z);
5676
5668
      double tmp4 = tmp3*tmp3;
5677
5669
      
5678
 
      // Compute basisvalues.
 
5670
      // Compute basisvalues
5679
5671
      basisvalues[0] = 1.0;
5680
5672
      basisvalues[1] = tmp0;
5681
5673
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5789
5781
      basisvalues[36] *= std::sqrt(175.5);
5790
5782
      basisvalues[35] *= std::sqrt(214.5);
5791
5783
      
5792
 
      // Table(s) of coefficients.
 
5784
      // Table(s) of coefficients
5793
5785
      static const double coefficients0[56] = \
5794
5786
      {0.078755617, -0.037734413, -0.056643532, -0.003081002, 0.042356774, 0.05468236, 0.04464796, 0.03788505, 0.0051555024, -0.0072909813, 0.041757439, -0.0050416396, 0.029593052, -0.024733169, 0.010146104, 0.026693724, -0.020292208, 0.0021695762, 0.013285887, 0.014279702, -0.055737422, -0.024577893, -0.0021983136, -0.0051930277, -0.013005399, -0.016894508, 0.004022502, -0.015830475, -0.026796023, -0.029511022, 0.0046447852, -0.010801498, -0.01942831, -0.021738389, -0.017864015, 0.0, 0.0, -0.051270972, 0.0, -0.022608373, -0.036766443, 0.0, -0.0047768907, -0.007768329, -0.0090822199, 0.0, 0.0037001637, 0.0060173218, 0.0070350573, 0.0068078225, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
5795
5787
      
5796
 
      // Compute value(s).
 
5788
      // Compute value(s)
5797
5789
      for (unsigned int r = 0; r < 56; r++)
5798
5790
      {
5799
5791
        *values += coefficients0[r]*basisvalues[r];
5803
5795
    case 41:
5804
5796
      {
5805
5797
        
5806
 
      // Array of basisvalues.
 
5798
      // Array of basisvalues
5807
5799
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5808
5800
      
5809
 
      // Declare helper variables.
 
5801
      // Declare helper variables
5810
5802
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5811
5803
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5812
5804
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5813
5805
      double tmp3 = 0.5*(1.0 - Z);
5814
5806
      double tmp4 = tmp3*tmp3;
5815
5807
      
5816
 
      // Compute basisvalues.
 
5808
      // Compute basisvalues
5817
5809
      basisvalues[0] = 1.0;
5818
5810
      basisvalues[1] = tmp0;
5819
5811
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
5927
5919
      basisvalues[36] *= std::sqrt(175.5);
5928
5920
      basisvalues[35] *= std::sqrt(214.5);
5929
5921
      
5930
 
      // Table(s) of coefficients.
 
5922
      // Table(s) of coefficients
5931
5923
      static const double coefficients0[56] = \
5932
5924
      {-0.021478805, 0.0, -0.0043571947, -0.021567014, -0.12707032, 0.0, 0.0, 0.028413788, 0.036088516, 0.030986671, 0.0, 0.045374756, -0.042206483, 0.0, 0.0, 0.0, -0.020292208, -0.0061832922, 0.0015943064, 0.0039457071, 0.083606134, 0.0, 0.0, -0.010386055, 0.024152883, 0.043443021, 0.0, 0.0, 0.0, 0.0, 0.0046447852, -0.010801498, -0.01942831, -0.021738389, -0.017864015, 0.0, 0.0, 0.076906457, 0.0, 0.0, 0.0, 0.0, -0.0095537815, -0.015536658, -0.01816444, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
5933
5925
      
5934
 
      // Compute value(s).
 
5926
      // Compute value(s)
5935
5927
      for (unsigned int r = 0; r < 56; r++)
5936
5928
      {
5937
5929
        *values += coefficients0[r]*basisvalues[r];
5941
5933
    case 42:
5942
5934
      {
5943
5935
        
5944
 
      // Array of basisvalues.
 
5936
      // Array of basisvalues
5945
5937
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
5946
5938
      
5947
 
      // Declare helper variables.
 
5939
      // Declare helper variables
5948
5940
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
5949
5941
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
5950
5942
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
5951
5943
      double tmp3 = 0.5*(1.0 - Z);
5952
5944
      double tmp4 = tmp3*tmp3;
5953
5945
      
5954
 
      // Compute basisvalues.
 
5946
      // Compute basisvalues
5955
5947
      basisvalues[0] = 1.0;
5956
5948
      basisvalues[1] = tmp0;
5957
5949
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6065
6057
      basisvalues[36] *= std::sqrt(175.5);
6066
6058
      basisvalues[35] *= std::sqrt(214.5);
6067
6059
      
6068
 
      // Table(s) of coefficients.
 
6060
      // Table(s) of coefficients
6069
6061
      static const double coefficients0[56] = \
6070
6062
      {0.078755617, 0.037734413, -0.056643532, -0.003081002, 0.042356774, -0.05468236, -0.04464796, 0.03788505, 0.0051555024, -0.0072909813, -0.041757439, -0.0050416396, 0.029593052, 0.024733169, -0.010146104, -0.026693724, -0.020292208, 0.0021695762, 0.013285887, 0.014279702, -0.055737422, 0.024577893, 0.0021983136, -0.0051930277, -0.013005399, -0.016894508, -0.004022502, 0.015830475, 0.026796023, 0.029511022, 0.0046447852, -0.010801498, -0.01942831, -0.021738389, -0.017864015, 0.0, 0.0, -0.051270972, 0.0, 0.022608373, 0.036766443, 0.0, -0.0047768907, -0.007768329, -0.0090822199, 0.0, -0.0037001637, -0.0060173218, -0.0070350573, -0.0068078225, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
6071
6063
      
6072
 
      // Compute value(s).
 
6064
      // Compute value(s)
6073
6065
      for (unsigned int r = 0; r < 56; r++)
6074
6066
      {
6075
6067
        *values += coefficients0[r]*basisvalues[r];
6079
6071
    case 43:
6080
6072
      {
6081
6073
        
6082
 
      // Array of basisvalues.
 
6074
      // Array of basisvalues
6083
6075
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6084
6076
      
6085
 
      // Declare helper variables.
 
6077
      // Declare helper variables
6086
6078
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6087
6079
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6088
6080
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6089
6081
      double tmp3 = 0.5*(1.0 - Z);
6090
6082
      double tmp4 = tmp3*tmp3;
6091
6083
      
6092
 
      // Compute basisvalues.
 
6084
      // Compute basisvalues
6093
6085
      basisvalues[0] = 1.0;
6094
6086
      basisvalues[1] = tmp0;
6095
6087
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6203
6195
      basisvalues[36] *= std::sqrt(175.5);
6204
6196
      basisvalues[35] *= std::sqrt(214.5);
6205
6197
      
6206
 
      // Table(s) of coefficients.
 
6198
      // Table(s) of coefficients
6207
6199
      static const double coefficients0[56] = \
6208
6200
      {-0.021478805, -0.018867207, 0.0065357921, 0.0092430059, 0.014118925, 0.0, -0.1116199, -0.0031570875, -0.054132775, -0.060150596, -0.0089480226, -0.0025208198, -0.027652524, 0.00065087287, 0.036075036, -0.018869701, 0.0011273449, 0.03742519, 0.01992883, 0.00056367244, 0.0, 0.0, 0.059354467, 0.0, 0.016721227, 0.0032180016, 0.0, -0.0043174022, 0.02243388, 0.046301776, 0.0, -0.0074779599, 0.018708743, 0.043183015, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.062043373, 0.0, 0.0, 0.01747874, 0.03632888, 0.0, 0.0, -0.0045129913, -0.0093800764, -0.011913689, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
6209
6201
      
6210
 
      // Compute value(s).
 
6202
      // Compute value(s)
6211
6203
      for (unsigned int r = 0; r < 56; r++)
6212
6204
      {
6213
6205
        *values += coefficients0[r]*basisvalues[r];
6217
6209
    case 44:
6218
6210
      {
6219
6211
        
6220
 
      // Array of basisvalues.
 
6212
      // Array of basisvalues
6221
6213
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6222
6214
      
6223
 
      // Declare helper variables.
 
6215
      // Declare helper variables
6224
6216
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6225
6217
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6226
6218
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6227
6219
      double tmp3 = 0.5*(1.0 - Z);
6228
6220
      double tmp4 = tmp3*tmp3;
6229
6221
      
6230
 
      // Compute basisvalues.
 
6222
      // Compute basisvalues
6231
6223
      basisvalues[0] = 1.0;
6232
6224
      basisvalues[1] = tmp0;
6233
6225
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6341
6333
      basisvalues[36] *= std::sqrt(175.5);
6342
6334
      basisvalues[35] *= std::sqrt(214.5);
6343
6335
      
6344
 
      // Table(s) of coefficients.
 
6336
      // Table(s) of coefficients
6345
6337
      static const double coefficients0[56] = \
6346
6338
      {-0.021478805, 0.018867207, 0.0065357921, 0.0092430059, 0.014118925, 0.0, 0.1116199, -0.0031570875, -0.054132775, -0.060150596, 0.0089480226, -0.0025208198, -0.027652524, -0.00065087287, -0.036075036, 0.018869701, 0.0011273449, 0.03742519, 0.01992883, 0.00056367244, 0.0, 0.0, -0.059354467, 0.0, 0.016721227, 0.0032180016, 0.0, 0.0043174022, -0.02243388, -0.046301776, 0.0, -0.0074779599, 0.018708743, 0.043183015, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, -0.062043373, 0.0, 0.0, 0.01747874, 0.03632888, 0.0, 0.0, 0.0045129913, 0.0093800764, 0.011913689, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
6347
6339
      
6348
 
      // Compute value(s).
 
6340
      // Compute value(s)
6349
6341
      for (unsigned int r = 0; r < 56; r++)
6350
6342
      {
6351
6343
        *values += coefficients0[r]*basisvalues[r];
6355
6347
    case 45:
6356
6348
      {
6357
6349
        
6358
 
      // Array of basisvalues.
 
6350
      // Array of basisvalues
6359
6351
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6360
6352
      
6361
 
      // Declare helper variables.
 
6353
      // Declare helper variables
6362
6354
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6363
6355
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6364
6356
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6365
6357
      double tmp3 = 0.5*(1.0 - Z);
6366
6358
      double tmp4 = tmp3*tmp3;
6367
6359
      
6368
 
      // Compute basisvalues.
 
6360
      // Compute basisvalues
6369
6361
      basisvalues[0] = 1.0;
6370
6362
      basisvalues[1] = tmp0;
6371
6363
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6479
6471
      basisvalues[36] *= std::sqrt(175.5);
6480
6472
      basisvalues[35] *= std::sqrt(214.5);
6481
6473
      
6482
 
      // Table(s) of coefficients.
 
6474
      // Table(s) of coefficients
6483
6475
      static const double coefficients0[56] = \
6484
6476
      {0.078755617, 0.0, -0.034857558, 0.058539037, -0.028237849, 0.0, 0.0, 0.0063141751, -0.020622009, 0.083846285, 0.0, 0.0, -0.0067918479, 0.0, 0.0, 0.0, 0.0, 0.0015187034, -0.061646515, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, -0.045052022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010073938, -0.032901345, -0.064393544, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.05651159, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.012636376, 0.027513487, 0.030398396};
6485
6477
      
6486
 
      // Compute value(s).
 
6478
      // Compute value(s)
6487
6479
      for (unsigned int r = 0; r < 56; r++)
6488
6480
      {
6489
6481
        *values += coefficients0[r]*basisvalues[r];
6493
6485
    case 46:
6494
6486
      {
6495
6487
        
6496
 
      // Array of basisvalues.
 
6488
      // Array of basisvalues
6497
6489
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6498
6490
      
6499
 
      // Declare helper variables.
 
6491
      // Declare helper variables
6500
6492
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6501
6493
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6502
6494
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6503
6495
      double tmp3 = 0.5*(1.0 - Z);
6504
6496
      double tmp4 = tmp3*tmp3;
6505
6497
      
6506
 
      // Compute basisvalues.
 
6498
      // Compute basisvalues
6507
6499
      basisvalues[0] = 1.0;
6508
6500
      basisvalues[1] = tmp0;
6509
6501
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6617
6609
      basisvalues[36] *= std::sqrt(175.5);
6618
6610
      basisvalues[35] *= std::sqrt(214.5);
6619
6611
      
6620
 
      // Table(s) of coefficients.
 
6612
      // Table(s) of coefficients
6621
6613
      static const double coefficients0[56] = \
6622
6614
      {0.078755617, -0.037734413, -0.021785974, -0.052377033, 0.042356774, 0.05468236, 0.04464796, 0.0, 0.025777512, 0.029163925, 0.041757439, 0.028569291, -0.0092175079, 0.02733666, -0.0078914141, -0.024852777, 0.018789081, -0.003471322, -0.014348758, -0.015031265, -0.055737422, -0.0049155786, -0.024181449, -0.019733505, -0.0092895704, -0.0024135012, -0.039420519, -0.015830475, -0.00062316333, 0.0071233502, -0.032513496, -0.014125035, -0.0021587011, 0.0041126681, 0.0054007488, 0.0, -0.051058669, 0.0046609974, -0.040526562, -0.014387147, 0.0036766443, -0.011417065, -0.0056454163, -0.0015536658, 0.0010091355, 0.010317558, 0.0057184347, 0.0024069287, 0.00026055768, -0.00085097781, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
6623
6615
      
6624
 
      // Compute value(s).
 
6616
      // Compute value(s)
6625
6617
      for (unsigned int r = 0; r < 56; r++)
6626
6618
      {
6627
6619
        *values += coefficients0[r]*basisvalues[r];
6631
6623
    case 47:
6632
6624
      {
6633
6625
        
6634
 
      // Array of basisvalues.
 
6626
      // Array of basisvalues
6635
6627
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6636
6628
      
6637
 
      // Declare helper variables.
 
6629
      // Declare helper variables
6638
6630
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6639
6631
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6640
6632
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6641
6633
      double tmp3 = 0.5*(1.0 - Z);
6642
6634
      double tmp4 = tmp3*tmp3;
6643
6635
      
6644
 
      // Compute basisvalues.
 
6636
      // Compute basisvalues
6645
6637
      basisvalues[0] = 1.0;
6646
6638
      basisvalues[1] = tmp0;
6647
6639
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6755
6747
      basisvalues[36] *= std::sqrt(175.5);
6756
6748
      basisvalues[35] *= std::sqrt(214.5);
6757
6749
      
6758
 
      // Table(s) of coefficients.
 
6750
      // Table(s) of coefficients
6759
6751
      static const double coefficients0[56] = \
6760
6752
      {-0.021478805, 0.0, -0.021785974, 0.003081002, -0.12707032, 0.0, 0.0, 0.047356313, 0.025777512, 0.012759217, 0.0, -0.035291477, 0.050938859, 0.0, 0.0, 0.0, 0.0022546898, -0.0094376566, -0.014348758, -0.012964466, 0.083606134, 0.0, 0.0, 0.047775855, 0.0092895704, -0.014481007, 0.0, 0.0, 0.0, 0.0, -0.032513496, -0.014125035, -0.0021587011, 0.0041126681, 0.0054007488, 0.0, 0.076588003, -0.0069914961, 0.0, 0.0, 0.0, -0.022834131, -0.011290833, -0.0031073316, 0.0020182711, 0.0, 0.0, 0.0, 0.0, 0.0, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
6761
6753
      
6762
 
      // Compute value(s).
 
6754
      // Compute value(s)
6763
6755
      for (unsigned int r = 0; r < 56; r++)
6764
6756
      {
6765
6757
        *values += coefficients0[r]*basisvalues[r];
6769
6761
    case 48:
6770
6762
      {
6771
6763
        
6772
 
      // Array of basisvalues.
 
6764
      // Array of basisvalues
6773
6765
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6774
6766
      
6775
 
      // Declare helper variables.
 
6767
      // Declare helper variables
6776
6768
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6777
6769
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6778
6770
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6779
6771
      double tmp3 = 0.5*(1.0 - Z);
6780
6772
      double tmp4 = tmp3*tmp3;
6781
6773
      
6782
 
      // Compute basisvalues.
 
6774
      // Compute basisvalues
6783
6775
      basisvalues[0] = 1.0;
6784
6776
      basisvalues[1] = tmp0;
6785
6777
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
6893
6885
      basisvalues[36] *= std::sqrt(175.5);
6894
6886
      basisvalues[35] *= std::sqrt(214.5);
6895
6887
      
6896
 
      // Table(s) of coefficients.
 
6888
      // Table(s) of coefficients
6897
6889
      static const double coefficients0[56] = \
6898
6890
      {0.078755617, 0.037734413, -0.021785974, -0.052377033, 0.042356774, -0.05468236, -0.04464796, 0.0, 0.025777512, 0.029163925, -0.041757439, 0.028569291, -0.0092175079, -0.02733666, 0.0078914141, 0.024852777, 0.018789081, -0.003471322, -0.014348758, -0.015031265, -0.055737422, 0.0049155786, 0.024181449, -0.019733505, -0.0092895704, -0.0024135012, 0.039420519, 0.015830475, 0.00062316333, -0.0071233502, -0.032513496, -0.014125035, -0.0021587011, 0.0041126681, 0.0054007488, 0.0, -0.051058669, 0.0046609974, 0.040526562, 0.014387147, -0.0036766443, -0.011417065, -0.0056454163, -0.0015536658, 0.0010091355, -0.010317558, -0.0057184347, -0.0024069287, -0.00026055768, 0.00085097781, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
6899
6891
      
6900
 
      // Compute value(s).
 
6892
      // Compute value(s)
6901
6893
      for (unsigned int r = 0; r < 56; r++)
6902
6894
      {
6903
6895
        *values += coefficients0[r]*basisvalues[r];
6907
6899
    case 49:
6908
6900
      {
6909
6901
        
6910
 
      // Array of basisvalues.
 
6902
      // Array of basisvalues
6911
6903
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
6912
6904
      
6913
 
      // Declare helper variables.
 
6905
      // Declare helper variables
6914
6906
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
6915
6907
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
6916
6908
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
6917
6909
      double tmp3 = 0.5*(1.0 - Z);
6918
6910
      double tmp4 = tmp3*tmp3;
6919
6911
      
6920
 
      // Compute basisvalues.
 
6912
      // Compute basisvalues
6921
6913
      basisvalues[0] = 1.0;
6922
6914
      basisvalues[1] = tmp0;
6923
6915
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7031
7023
      basisvalues[36] *= std::sqrt(175.5);
7032
7024
      basisvalues[35] *= std::sqrt(214.5);
7033
7025
      
7034
 
      // Table(s) of coefficients.
 
7026
      // Table(s) of coefficients
7035
7027
      static const double coefficients0[56] = \
7036
7028
      {-0.021478805, -0.018867207, 0.010892987, 0.003081002, 0.014118925, -0.10936472, 0.02232398, -0.078927188, -0.012888756, 0.012759217, -0.0089480226, -0.027729018, 0.001455396, -0.0058578558, 0.038329726, -0.012426389, 0.019164863, 0.034821698, 0.0071743789, -0.012964466, 0.0, 0.058986943, -0.0065949408, 0.0072702388, 0.014863313, -0.004022502, 0.050683525, -0.0043174022, -0.0081011233, 0.0035616751, 0.065026993, -0.0016617689, -0.011513072, -0.0020563341, 0.0054007488, 0.0, 0.0, 0.0, 0.060789843, -0.01233184, 0.0013787416, 0.039959729, 0.0030398396, -0.004272581, 0.0010091355, -0.015476336, -0.0030274066, 0.00090259827, 0.00078167303, -0.0004254889, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
7037
7029
      
7038
 
      // Compute value(s).
 
7030
      // Compute value(s)
7039
7031
      for (unsigned int r = 0; r < 56; r++)
7040
7032
      {
7041
7033
        *values += coefficients0[r]*basisvalues[r];
7045
7037
    case 50:
7046
7038
      {
7047
7039
        
7048
 
      // Array of basisvalues.
 
7040
      // Array of basisvalues
7049
7041
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
7050
7042
      
7051
 
      // Declare helper variables.
 
7043
      // Declare helper variables
7052
7044
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
7053
7045
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
7054
7046
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
7055
7047
      double tmp3 = 0.5*(1.0 - Z);
7056
7048
      double tmp4 = tmp3*tmp3;
7057
7049
      
7058
 
      // Compute basisvalues.
 
7050
      // Compute basisvalues
7059
7051
      basisvalues[0] = 1.0;
7060
7052
      basisvalues[1] = tmp0;
7061
7053
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7169
7161
      basisvalues[36] *= std::sqrt(175.5);
7170
7162
      basisvalues[35] *= std::sqrt(214.5);
7171
7163
      
7172
 
      // Table(s) of coefficients.
 
7164
      // Table(s) of coefficients
7173
7165
      static const double coefficients0[56] = \
7174
7166
      {-0.021478805, 0.018867207, 0.010892987, 0.003081002, 0.014118925, 0.10936472, -0.02232398, -0.078927188, -0.012888756, 0.012759217, 0.0089480226, -0.027729018, 0.001455396, 0.0058578558, -0.038329726, 0.012426389, 0.019164863, 0.034821698, 0.0071743789, -0.012964466, 0.0, -0.058986943, 0.0065949408, 0.0072702388, 0.014863313, -0.004022502, -0.050683525, 0.0043174022, 0.0081011233, -0.0035616751, 0.065026993, -0.0016617689, -0.011513072, -0.0020563341, 0.0054007488, 0.0, 0.0, 0.0, -0.060789843, 0.01233184, -0.0013787416, 0.039959729, 0.0030398396, -0.004272581, 0.0010091355, 0.015476336, 0.0030274066, -0.00090259827, -0.00078167303, 0.0004254889, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
7175
7167
      
7176
 
      // Compute value(s).
 
7168
      // Compute value(s)
7177
7169
      for (unsigned int r = 0; r < 56; r++)
7178
7170
      {
7179
7171
        *values += coefficients0[r]*basisvalues[r];
7183
7175
    case 51:
7184
7176
      {
7185
7177
        
7186
 
      // Array of basisvalues.
 
7178
      // Array of basisvalues
7187
7179
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
7188
7180
      
7189
 
      // Declare helper variables.
 
7181
      // Declare helper variables
7190
7182
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
7191
7183
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
7192
7184
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
7193
7185
      double tmp3 = 0.5*(1.0 - Z);
7194
7186
      double tmp4 = tmp3*tmp3;
7195
7187
      
7196
 
      // Compute basisvalues.
 
7188
      // Compute basisvalues
7197
7189
      basisvalues[0] = 1.0;
7198
7190
      basisvalues[1] = tmp0;
7199
7191
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7307
7299
      basisvalues[36] *= std::sqrt(175.5);
7308
7300
      basisvalues[35] *= std::sqrt(214.5);
7309
7301
      
7310
 
      // Table(s) of coefficients.
 
7302
      // Table(s) of coefficients
7311
7303
      static const double coefficients0[56] = \
7312
7304
      {0.078755617, 0.0, 0.043571947, -0.052377033, -0.028237849, 0.0, 0.0, 0.063141751, -0.051555024, 0.029163925, 0.0, -0.0067221861, 0.00097026399, 0.0, 0.0, 0.0, -0.06012506, -0.012583542, 0.028697515, -0.015031265, 0.0, 0.0, 0.0, -0.043621433, 0.011147484, -0.0016090008, 0.0, 0.0, 0.0, 0.0, -0.065026993, 0.031573609, -0.0028782681, -0.0082253363, 0.0054007488, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.053279638, 0.018239037, -0.0046609974, 0.00067275703, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04254889, -0.0038841645, -0.0034741024, 0.0012034644, 0.00098262453, -0.00086852559};
7313
7305
      
7314
 
      // Compute value(s).
 
7306
      // Compute value(s)
7315
7307
      for (unsigned int r = 0; r < 56; r++)
7316
7308
      {
7317
7309
        *values += coefficients0[r]*basisvalues[r];
7321
7313
    case 52:
7322
7314
      {
7323
7315
        
7324
 
      // Array of basisvalues.
 
7316
      // Array of basisvalues
7325
7317
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
7326
7318
      
7327
 
      // Declare helper variables.
 
7319
      // Declare helper variables
7328
7320
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
7329
7321
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
7330
7322
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
7331
7323
      double tmp3 = 0.5*(1.0 - Z);
7332
7324
      double tmp4 = tmp3*tmp3;
7333
7325
      
7334
 
      // Compute basisvalues.
 
7326
      // Compute basisvalues
7335
7327
      basisvalues[0] = 1.0;
7336
7328
      basisvalues[1] = tmp0;
7337
7329
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7445
7437
      basisvalues[36] *= std::sqrt(175.5);
7446
7438
      basisvalues[35] *= std::sqrt(214.5);
7447
7439
      
7448
 
      // Table(s) of coefficients.
 
7440
      // Table(s) of coefficients
7449
7441
      static const double coefficients0[56] = \
7450
7442
      {0.10739402, -0.18867207, -0.10892987, -0.077025049, -0.070594623, -0.05468236, -0.04464796, -0.031570875, -0.025777512, -0.018227453, 0.089480226, -0.015124919, -0.013098564, 0.058578558, -0.028183622, 0.069035493, 0.074404762, 0.009763093, 0.03985766, 0.059749278, 0.0, 0.073733679, 0.065949408, 0.036351194, 0.0074316563, 0.034593517, -0.012067506, 0.043174022, 0.015579083, -0.025440536, -0.023223926, 0.046529528, 0.025184846, -0.0146881, -0.032819935, 0.0, 0.0, 0.0, 0.0, 0.06782512, -0.013787416, 0.0, 0.033438235, 0.019420823, -0.0090822199, 0.0, -0.011100491, -0.0090259827, -0.0023450191, 0.0034039112, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
7451
7443
      
7452
 
      // Compute value(s).
 
7444
      // Compute value(s)
7453
7445
      for (unsigned int r = 0; r < 56; r++)
7454
7446
      {
7455
7447
        *values += coefficients0[r]*basisvalues[r];
7459
7451
    case 53:
7460
7452
      {
7461
7453
        
7462
 
      // Array of basisvalues.
 
7454
      // Array of basisvalues
7463
7455
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
7464
7456
      
7465
 
      // Declare helper variables.
 
7457
      // Declare helper variables
7466
7458
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
7467
7459
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
7468
7460
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
7469
7461
      double tmp3 = 0.5*(1.0 - Z);
7470
7462
      double tmp4 = tmp3*tmp3;
7471
7463
      
7472
 
      // Compute basisvalues.
 
7464
      // Compute basisvalues
7473
7465
      basisvalues[0] = 1.0;
7474
7466
      basisvalues[1] = tmp0;
7475
7467
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7583
7575
      basisvalues[36] *= std::sqrt(175.5);
7584
7576
      basisvalues[35] *= std::sqrt(214.5);
7585
7577
      
7586
 
      // Table(s) of coefficients.
 
7578
      // Table(s) of coefficients
7587
7579
      static const double coefficients0[56] = \
7588
7580
      {0.10739402, 0.18867207, -0.10892987, -0.077025049, -0.070594623, 0.05468236, 0.04464796, -0.031570875, -0.025777512, -0.018227453, -0.089480226, -0.015124919, -0.013098564, -0.058578558, 0.028183622, -0.069035493, 0.074404762, 0.009763093, 0.03985766, 0.059749278, 0.0, -0.073733679, -0.065949408, 0.036351194, 0.0074316563, 0.034593517, 0.012067506, -0.043174022, -0.015579083, 0.025440536, -0.023223926, 0.046529528, 0.025184846, -0.0146881, -0.032819935, 0.0, 0.0, 0.0, 0.0, -0.06782512, 0.013787416, 0.0, 0.033438235, 0.019420823, -0.0090822199, 0.0, 0.011100491, 0.0090259827, 0.0023450191, -0.0034039112, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
7589
7581
      
7590
 
      // Compute value(s).
 
7582
      // Compute value(s)
7591
7583
      for (unsigned int r = 0; r < 56; r++)
7592
7584
      {
7593
7585
        *values += coefficients0[r]*basisvalues[r];
7597
7589
    case 54:
7598
7590
      {
7599
7591
        
7600
 
      // Array of basisvalues.
 
7592
      // Array of basisvalues
7601
7593
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
7602
7594
      
7603
 
      // Declare helper variables.
 
7595
      // Declare helper variables
7604
7596
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
7605
7597
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
7606
7598
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
7607
7599
      double tmp3 = 0.5*(1.0 - Z);
7608
7600
      double tmp4 = tmp3*tmp3;
7609
7601
      
7610
 
      // Compute basisvalues.
 
7602
      // Compute basisvalues
7611
7603
      basisvalues[0] = 1.0;
7612
7604
      basisvalues[1] = tmp0;
7613
7605
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7721
7713
      basisvalues[36] *= std::sqrt(175.5);
7722
7714
      basisvalues[35] *= std::sqrt(214.5);
7723
7715
      
7724
 
      // Table(s) of coefficients.
 
7716
      // Table(s) of coefficients
7725
7717
      static const double coefficients0[56] = \
7726
7718
      {0.10739402, 0.0, 0.21785974, -0.077025049, 0.0, 0.0, 0.0, -0.094712626, 0.051555024, -0.018227453, 0.0, -0.090749512, 0.023286336, 0.0, 0.0, 0.0, -0.09469697, -0.02278055, -0.079715321, 0.059749278, 0.0, 0.0, 0.0, -0.072702388, -0.048305766, 0.014481007, 0.0, 0.0, 0.0, 0.0, 0.046447852, -0.078103137, 0.043174022, 0.029376201, -0.032819935, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.06687647, 0.031073316, -0.0060548133, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04272581, 0.0069482047, -0.010831179, -0.0039304981, 0.0060796791};
7727
7719
      
7728
 
      // Compute value(s).
 
7720
      // Compute value(s)
7729
7721
      for (unsigned int r = 0; r < 56; r++)
7730
7722
      {
7731
7723
        *values += coefficients0[r]*basisvalues[r];
7735
7727
    case 55:
7736
7728
      {
7737
7729
        
7738
 
      // Array of basisvalues.
 
7730
      // Array of basisvalues
7739
7731
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
7740
7732
      
7741
 
      // Declare helper variables.
 
7733
      // Declare helper variables
7742
7734
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
7743
7735
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
7744
7736
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
7745
7737
      double tmp3 = 0.5*(1.0 - Z);
7746
7738
      double tmp4 = tmp3*tmp3;
7747
7739
      
7748
 
      // Compute basisvalues.
 
7740
      // Compute basisvalues
7749
7741
      basisvalues[0] = 1.0;
7750
7742
      basisvalues[1] = tmp0;
7751
7743
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
7859
7851
      basisvalues[36] *= std::sqrt(175.5);
7860
7852
      basisvalues[35] *= std::sqrt(214.5);
7861
7853
      
7862
 
      // Table(s) of coefficients.
 
7854
      // Table(s) of coefficients
7863
7855
      static const double coefficients0[56] = \
7864
7856
      {0.10739402, 0.0, 0.0, 0.23107515, 0.0, 0.0, 0.0, 0.0, 0.0, -0.10936472, 0.0, 0.010083279, -0.093145343, 0.0, 0.0, 0.0, -0.0045093795, -0.10413966, 0.0, -0.09244228, 0.0, 0.0, 0.0, 0.0, -0.066884907, -0.057924029, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02991184, -0.064761033, 0.0, 0.083503886, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.069914961, 0.024219253, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.031266921, 0.027077948, 0.0, -0.018239037};
7865
7857
      
7866
 
      // Compute value(s).
 
7858
      // Compute value(s)
7867
7859
      for (unsigned int r = 0; r < 56; r++)
7868
7860
      {
7869
7861
        *values += coefficients0[r]*basisvalues[r];
7874
7866
    
7875
7867
  }
7876
7868
 
7877
 
  /// Evaluate all basis functions at given point in cell
 
7869
  /// Evaluate all basis functions at given point x in cell
7878
7870
  virtual void evaluate_basis_all(double* values,
7879
 
                                  const double* coordinates,
7880
 
                                  const ufc::cell& c) const
 
7871
                                  const double* x,
 
7872
                                  const double* vertex_coordinates,
 
7873
                                  int cell_orientation) const
7881
7874
  {
7882
7875
    // Helper variable to hold values of a single dof.
7883
7876
    double dof_values = 0.0;
7884
7877
    
7885
 
    // Loop dofs and call evaluate_basis.
 
7878
    // Loop dofs and call evaluate_basis
7886
7879
    for (unsigned int r = 0; r < 56; r++)
7887
7880
    {
7888
 
      evaluate_basis(r, &dof_values, coordinates, c);
 
7881
      evaluate_basis(r, &dof_values, x, vertex_coordinates, cell_orientation);
7889
7882
      values[r] = dof_values;
7890
7883
    }// end loop over 'r'
7891
7884
  }
7892
7885
 
7893
 
  /// Evaluate order n derivatives of basis function i at given point in cell
7894
 
  virtual void evaluate_basis_derivatives(unsigned int i,
7895
 
                                          unsigned int n,
 
7886
  /// Evaluate order n derivatives of basis function i at given point x in cell
 
7887
  virtual void evaluate_basis_derivatives(std::size_t i,
 
7888
                                          std::size_t n,
7896
7889
                                          double* values,
7897
 
                                          const double* coordinates,
7898
 
                                          const ufc::cell& c) const
 
7890
                                          const double* x,
 
7891
                                          const double* vertex_coordinates,
 
7892
                                          int cell_orientation) const
7899
7893
  {
7900
 
    // Extract vertex coordinates
7901
 
    const double * const * x = c.coordinates;
7902
 
    
7903
 
    // Compute Jacobian of affine map from reference cell
7904
 
    const double J_00 = x[1][0] - x[0][0];
7905
 
    const double J_01 = x[2][0] - x[0][0];
7906
 
    const double J_02 = x[3][0] - x[0][0];
7907
 
    const double J_10 = x[1][1] - x[0][1];
7908
 
    const double J_11 = x[2][1] - x[0][1];
7909
 
    const double J_12 = x[3][1] - x[0][1];
7910
 
    const double J_20 = x[1][2] - x[0][2];
7911
 
    const double J_21 = x[2][2] - x[0][2];
7912
 
    const double J_22 = x[3][2] - x[0][2];
7913
 
    
7914
 
    // Compute sub determinants
7915
 
    const double d_00 = J_11*J_22 - J_12*J_21;
7916
 
    const double d_01 = J_12*J_20 - J_10*J_22;
7917
 
    const double d_02 = J_10*J_21 - J_11*J_20;
7918
 
    const double d_10 = J_02*J_21 - J_01*J_22;
7919
 
    const double d_11 = J_00*J_22 - J_02*J_20;
7920
 
    const double d_12 = J_01*J_20 - J_00*J_21;
7921
 
    const double d_20 = J_01*J_12 - J_02*J_11;
7922
 
    const double d_21 = J_02*J_10 - J_00*J_12;
7923
 
    const double d_22 = J_00*J_11 - J_01*J_10;
7924
 
    
7925
 
    // Compute determinant of Jacobian
7926
 
    double detJ = J_00*d_00 + J_10*d_10 + J_20*d_20;
7927
 
    
7928
 
    // Compute inverse of Jacobian
7929
 
    const double K_00 = d_00 / detJ;
7930
 
    const double K_01 = d_10 / detJ;
7931
 
    const double K_02 = d_20 / detJ;
7932
 
    const double K_10 = d_01 / detJ;
7933
 
    const double K_11 = d_11 / detJ;
7934
 
    const double K_12 = d_21 / detJ;
7935
 
    const double K_20 = d_02 / detJ;
7936
 
    const double K_21 = d_12 / detJ;
7937
 
    const double K_22 = d_22 / detJ;
 
7894
    // Compute Jacobian
 
7895
    double J[9];
 
7896
    compute_jacobian_tetrahedron_3d(J, vertex_coordinates);
 
7897
    
 
7898
    // Compute Jacobian inverse and determinant
 
7899
    double K[9];
 
7900
    double detJ;
 
7901
    compute_jacobian_inverse_tetrahedron_3d(K, detJ, J);
 
7902
    
7938
7903
    
7939
7904
    // Compute constants
7940
 
    const double C0 = x[3][0] + x[2][0] + x[1][0] - x[0][0];
7941
 
    const double C1 = x[3][1] + x[2][1] + x[1][1] - x[0][1];
7942
 
    const double C2 = x[3][2] + x[2][2] + x[1][2] - x[0][2];
 
7905
    const double C0 = vertex_coordinates[9]  + vertex_coordinates[6] + vertex_coordinates[3]  - vertex_coordinates[0];
 
7906
    const double C1 = vertex_coordinates[10] + vertex_coordinates[7] + vertex_coordinates[4]  - vertex_coordinates[1];
 
7907
    const double C2 = vertex_coordinates[11] + vertex_coordinates[8] + vertex_coordinates[5]  - vertex_coordinates[2];
 
7908
    
 
7909
    // Compute subdeterminants
 
7910
    const double d_00 = J[4]*J[8] - J[5]*J[7];
 
7911
    const double d_01 = J[5]*J[6] - J[3]*J[8];
 
7912
    const double d_02 = J[3]*J[7] - J[4]*J[6];
 
7913
    const double d_10 = J[2]*J[7] - J[1]*J[8];
 
7914
    const double d_11 = J[0]*J[8] - J[2]*J[6];
 
7915
    const double d_12 = J[1]*J[6] - J[0]*J[7];
 
7916
    const double d_20 = J[1]*J[5] - J[2]*J[4];
 
7917
    const double d_21 = J[2]*J[3] - J[0]*J[5];
 
7918
    const double d_22 = J[0]*J[4] - J[1]*J[3];
7943
7919
    
7944
7920
    // Get coordinates and map to the reference (FIAT) element
7945
 
    double X = (d_00*(2.0*coordinates[0] - C0) + d_10*(2.0*coordinates[1] - C1) + d_20*(2.0*coordinates[2] - C2)) / detJ;
7946
 
    double Y = (d_01*(2.0*coordinates[0] - C0) + d_11*(2.0*coordinates[1] - C1) + d_21*(2.0*coordinates[2] - C2)) / detJ;
7947
 
    double Z = (d_02*(2.0*coordinates[0] - C0) + d_12*(2.0*coordinates[1] - C1) + d_22*(2.0*coordinates[2] - C2)) / detJ;
 
7921
    double X = (d_00*(2.0*x[0] - C0) + d_10*(2.0*x[1] - C1) + d_20*(2.0*x[2] - C2)) / detJ;
 
7922
    double Y = (d_01*(2.0*x[0] - C0) + d_11*(2.0*x[1] - C1) + d_21*(2.0*x[2] - C2)) / detJ;
 
7923
    double Z = (d_02*(2.0*x[0] - C0) + d_12*(2.0*x[1] - C1) + d_22*(2.0*x[2] - C2)) / detJ;
7948
7924
    
7949
7925
    
7950
7926
    // Compute number of derivatives.
7982
7958
    }
7983
7959
    
7984
7960
    // Compute inverse of Jacobian
7985
 
    const double Jinv[3][3] = {{K_00, K_01, K_02}, {K_10, K_11, K_12}, {K_20, K_21, K_22}};
 
7961
    const double Jinv[3][3] = {{K[0], K[1], K[2]}, {K[3], K[4], K[5]}, {K[6], K[7], K[8]}};
7986
7962
    
7987
7963
    // Declare transformation matrix
7988
7964
    // Declare pointer to two dimensional array and initialise
8016
7992
    case 0:
8017
7993
      {
8018
7994
        
8019
 
      // Array of basisvalues.
 
7995
      // Array of basisvalues
8020
7996
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
8021
7997
      
8022
 
      // Declare helper variables.
 
7998
      // Declare helper variables
8023
7999
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
8024
8000
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
8025
8001
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
8026
8002
      double tmp3 = 0.5*(1.0 - Z);
8027
8003
      double tmp4 = tmp3*tmp3;
8028
8004
      
8029
 
      // Compute basisvalues.
 
8005
      // Compute basisvalues
8030
8006
      basisvalues[0] = 1.0;
8031
8007
      basisvalues[1] = tmp0;
8032
8008
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
8140
8116
      basisvalues[36] *= std::sqrt(175.5);
8141
8117
      basisvalues[35] *= std::sqrt(214.5);
8142
8118
      
8143
 
      // Table(s) of coefficients.
 
8119
      // Table(s) of coefficients
8144
8120
      static const double coefficients0[56] = \
8145
8121
      {0.009450674, 0.0060978812, 0.0035206134, 0.0024894496, 0.0070594623, 0.005468236, 0.004464796, 0.0031570875, 0.0025777512, 0.0018227453, -0.0029826742, -0.0025208198, -0.002183094, -0.0019526186, -0.0016910173, -0.0013807099, -0.0011273449, -0.0009763093, -0.00079715321, -0.00056367244, 0.0027868711, 0.0024577893, 0.0021983136, 0.0020772111, 0.0018579141, 0.0016090008, 0.0016090008, 0.0014391341, 0.0012463267, 0.0010176215, 0.00092895704, 0.00083088444, 0.00071956703, 0.00058752402, 0.00041544222, -0.0070559352, -0.0063823336, -0.0058262468, -0.0056286891, -0.0051382667, -0.0045958054, -0.0047571106, -0.0043426279, -0.0038841645, -0.0033637851, -0.003684842, -0.0033637851, -0.0030086609, -0.0026055768, -0.0021274445, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
8146
8122
      
8556
8532
    case 1:
8557
8533
      {
8558
8534
        
8559
 
      // Array of basisvalues.
 
8535
      // Array of basisvalues
8560
8536
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
8561
8537
      
8562
 
      // Declare helper variables.
 
8538
      // Declare helper variables
8563
8539
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
8564
8540
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
8565
8541
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
8566
8542
      double tmp3 = 0.5*(1.0 - Z);
8567
8543
      double tmp4 = tmp3*tmp3;
8568
8544
      
8569
 
      // Compute basisvalues.
 
8545
      // Compute basisvalues
8570
8546
      basisvalues[0] = 1.0;
8571
8547
      basisvalues[1] = tmp0;
8572
8548
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
8680
8656
      basisvalues[36] *= std::sqrt(175.5);
8681
8657
      basisvalues[35] *= std::sqrt(214.5);
8682
8658
      
8683
 
      // Table(s) of coefficients.
 
8659
      // Table(s) of coefficients
8684
8660
      static const double coefficients0[56] = \
8685
8661
      {0.009450674, -0.0060978812, 0.0035206134, 0.0024894496, 0.0070594623, -0.005468236, -0.004464796, 0.0031570875, 0.0025777512, 0.0018227453, 0.0029826742, -0.0025208198, -0.002183094, 0.0019526186, 0.0016910173, 0.0013807099, -0.0011273449, -0.0009763093, -0.00079715321, -0.00056367244, 0.0027868711, -0.0024577893, -0.0021983136, 0.0020772111, 0.0018579141, 0.0016090008, -0.0016090008, -0.0014391341, -0.0012463267, -0.0010176215, 0.00092895704, 0.00083088444, 0.00071956703, 0.00058752402, 0.00041544222, 0.0070559352, -0.0063823336, -0.0058262468, 0.0056286891, 0.0051382667, 0.0045958054, -0.0047571106, -0.0043426279, -0.0038841645, -0.0033637851, 0.003684842, 0.0033637851, 0.0030086609, 0.0026055768, 0.0021274445, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
8686
8662
      
9096
9072
    case 2:
9097
9073
      {
9098
9074
        
9099
 
      // Array of basisvalues.
 
9075
      // Array of basisvalues
9100
9076
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
9101
9077
      
9102
 
      // Declare helper variables.
 
9078
      // Declare helper variables
9103
9079
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
9104
9080
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
9105
9081
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
9106
9082
      double tmp3 = 0.5*(1.0 - Z);
9107
9083
      double tmp4 = tmp3*tmp3;
9108
9084
      
9109
 
      // Compute basisvalues.
 
9085
      // Compute basisvalues
9110
9086
      basisvalues[0] = 1.0;
9111
9087
      basisvalues[1] = tmp0;
9112
9088
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
9220
9196
      basisvalues[36] *= std::sqrt(175.5);
9221
9197
      basisvalues[35] *= std::sqrt(214.5);
9222
9198
      
9223
 
      // Table(s) of coefficients.
 
9199
      // Table(s) of coefficients
9224
9200
      static const double coefficients0[56] = \
9225
9201
      {0.009450674, 0.0, -0.0070412267, 0.0024894496, 0.0, 0.0, 0.0, 0.0094712626, -0.0051555024, 0.0018227453, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0045093795, -0.0029289279, 0.0015943064, -0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0046447852, -0.0033235377, 0.0021587011, -0.001175048, 0.00041544222, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.012764667, -0.0097104113, 0.0069482047, -0.0045129913, 0.0024565613, -0.00086852559};
9226
9202
      
9636
9612
    case 3:
9637
9613
      {
9638
9614
        
9639
 
      // Array of basisvalues.
 
9615
      // Array of basisvalues
9640
9616
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
9641
9617
      
9642
 
      // Declare helper variables.
 
9618
      // Declare helper variables
9643
9619
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
9644
9620
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
9645
9621
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
9646
9622
      double tmp3 = 0.5*(1.0 - Z);
9647
9623
      double tmp4 = tmp3*tmp3;
9648
9624
      
9649
 
      // Compute basisvalues.
 
9625
      // Compute basisvalues
9650
9626
      basisvalues[0] = 1.0;
9651
9627
      basisvalues[1] = tmp0;
9652
9628
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
9760
9736
      basisvalues[36] *= std::sqrt(175.5);
9761
9737
      basisvalues[35] *= std::sqrt(214.5);
9762
9738
      
9763
 
      // Table(s) of coefficients.
 
9739
      // Table(s) of coefficients
9764
9740
      static const double coefficients0[56] = \
9765
9741
      {0.009450674, 0.0, 0.0, -0.0074683487, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010936472, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0062316333, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.018239037};
9766
9742
      
10176
10152
    case 4:
10177
10153
      {
10178
10154
        
10179
 
      // Array of basisvalues.
 
10155
      // Array of basisvalues
10180
10156
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
10181
10157
      
10182
 
      // Declare helper variables.
 
10158
      // Declare helper variables
10183
10159
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
10184
10160
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
10185
10161
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
10186
10162
      double tmp3 = 0.5*(1.0 - Z);
10187
10163
      double tmp4 = tmp3*tmp3;
10188
10164
      
10189
 
      // Compute basisvalues.
 
10165
      // Compute basisvalues
10190
10166
      basisvalues[0] = 1.0;
10191
10167
      basisvalues[1] = tmp0;
10192
10168
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
10300
10276
      basisvalues[36] *= std::sqrt(175.5);
10301
10277
      basisvalues[35] *= std::sqrt(214.5);
10302
10278
      
10303
 
      // Table(s) of coefficients.
 
10279
      // Table(s) of coefficients
10304
10280
      static const double coefficients0[56] = \
10305
10281
      {-0.010023442, 0.0, 0.037471875, -0.028961418, 0.0, 0.0, 0.0, 0.028413788, 0.0051555024, -0.0061973341, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.031565657, -0.011390275, 0.0026571774, -0.00018789081, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.023223926, -0.0016617689, -0.0064761033, 0.0064627642, -0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.021362905, -0.027792819, 0.024370153, -0.015721993, 0.0060796791};
10306
10282
      
10716
10692
    case 5:
10717
10693
      {
10718
10694
        
10719
 
      // Array of basisvalues.
 
10695
      // Array of basisvalues
10720
10696
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
10721
10697
      
10722
 
      // Declare helper variables.
 
10698
      // Declare helper variables
10723
10699
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
10724
10700
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
10725
10701
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
10726
10702
      double tmp3 = 0.5*(1.0 - Z);
10727
10703
      double tmp4 = tmp3*tmp3;
10728
10704
      
10729
 
      // Compute basisvalues.
 
10705
      // Compute basisvalues
10730
10706
      basisvalues[0] = 1.0;
10731
10707
      basisvalues[1] = tmp0;
10732
10708
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
10840
10816
      basisvalues[36] *= std::sqrt(175.5);
10841
10817
      basisvalues[35] *= std::sqrt(214.5);
10842
10818
      
10843
 
      // Table(s) of coefficients.
 
10819
      // Table(s) of coefficients
10844
10820
      static const double coefficients0[56] = \
10845
10821
      {0.010023442, 0.0, -0.028757485, 0.053609434, 0.0, 0.0, 0.0, -0.018942525, 0.015466507, 0.015311061, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0045093795, 0.037099753, -0.02816608, 0.010897667, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02991184, -0.0043174022, -0.012338004, 0.0087242866, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.031266921, -0.048740307, 0.04127023, -0.018239037};
10846
10822
      
11256
11232
    case 6:
11257
11233
      {
11258
11234
        
11259
 
      // Array of basisvalues.
 
11235
      // Array of basisvalues
11260
11236
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
11261
11237
      
11262
 
      // Declare helper variables.
 
11238
      // Declare helper variables
11263
11239
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
11264
11240
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
11265
11241
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
11266
11242
      double tmp3 = 0.5*(1.0 - Z);
11267
11243
      double tmp4 = tmp3*tmp3;
11268
11244
      
11269
 
      // Compute basisvalues.
 
11245
      // Compute basisvalues
11270
11246
      basisvalues[0] = 1.0;
11271
11247
      basisvalues[1] = tmp0;
11272
11248
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
11380
11356
      basisvalues[36] *= std::sqrt(175.5);
11381
11357
      basisvalues[35] *= std::sqrt(214.5);
11382
11358
      
11383
 
      // Table(s) of coefficients.
 
11359
      // Table(s) of coefficients
11384
11360
      static const double coefficients0[56] = \
11385
11361
      {0.010023442, 0.0, 0.040957631, -0.044982629, 0.0, 0.0, 0.0, 0.018942525, -0.0051555024, -0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0045561101, 0.035606177, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.030221815, 0.0041126681, -0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.037909127, -0.055026974, 0.030398396};
11386
11362
      
11796
11772
    case 7:
11797
11773
      {
11798
11774
        
11799
 
      // Array of basisvalues.
 
11775
      // Array of basisvalues
11800
11776
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
11801
11777
      
11802
 
      // Declare helper variables.
 
11778
      // Declare helper variables
11803
11779
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
11804
11780
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
11805
11781
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
11806
11782
      double tmp3 = 0.5*(1.0 - Z);
11807
11783
      double tmp4 = tmp3*tmp3;
11808
11784
      
11809
 
      // Compute basisvalues.
 
11785
      // Compute basisvalues
11810
11786
      basisvalues[0] = 1.0;
11811
11787
      basisvalues[1] = tmp0;
11812
11788
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
11920
11896
      basisvalues[36] *= std::sqrt(175.5);
11921
11897
      basisvalues[35] *= std::sqrt(214.5);
11922
11898
      
11923
 
      // Table(s) of coefficients.
 
11899
      // Table(s) of coefficients
11924
11900
      static const double coefficients0[56] = \
11925
11901
      {-0.010023442, 0.0, -0.014814462, 0.044982629, 0.0, 0.0, 0.0, 0.0, 0.020622009, 0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010628709, 0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.020563341, 0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034391859, -0.030398396};
11926
11902
      
12336
12312
    case 8:
12337
12313
      {
12338
12314
        
12339
 
      // Array of basisvalues.
 
12315
      // Array of basisvalues
12340
12316
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
12341
12317
      
12342
 
      // Declare helper variables.
 
12318
      // Declare helper variables
12343
12319
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
12344
12320
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
12345
12321
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
12346
12322
      double tmp3 = 0.5*(1.0 - Z);
12347
12323
      double tmp4 = tmp3*tmp3;
12348
12324
      
12349
 
      // Compute basisvalues.
 
12325
      // Compute basisvalues
12350
12326
      basisvalues[0] = 1.0;
12351
12327
      basisvalues[1] = tmp0;
12352
12328
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
12460
12436
      basisvalues[36] *= std::sqrt(175.5);
12461
12437
      basisvalues[35] *= std::sqrt(214.5);
12462
12438
      
12463
 
      // Table(s) of coefficients.
 
12439
      // Table(s) of coefficients
12464
12440
      static const double coefficients0[56] = \
12465
12441
      {-0.010023442, 0.032451596, -0.018735937, -0.028961418, 0.021178387, -0.016404708, 0.004464796, 0.0094712626, -0.0025777512, -0.0061973341, 0.020878719, -0.017645738, -0.0084898099, 0.01366833, 0.0065761785, 0.0023011831, -0.0078914141, -0.0037967584, -0.0013285887, -0.00018789081, 0.013934356, -0.012288947, -0.0010991568, 0.010386055, 0.00092895704, -0.0048270024, -0.008045004, -0.00071956703, 0.00373898, 0.005596918, 0.0046447852, 0.00041544222, -0.0021587011, -0.0032313821, -0.0029080955, 0.0, 0.0, 0.012817743, 0.0, -0.011304187, -0.018383222, 0.0, 0.0095537815, 0.015536658, 0.01816444, 0.0, -0.0074003273, -0.012034644, -0.014070115, -0.013615645, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
12466
12442
      
12876
12852
    case 9:
12877
12853
      {
12878
12854
        
12879
 
      // Array of basisvalues.
 
12855
      // Array of basisvalues
12880
12856
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
12881
12857
      
12882
 
      // Declare helper variables.
 
12858
      // Declare helper variables
12883
12859
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
12884
12860
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
12885
12861
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
12886
12862
      double tmp3 = 0.5*(1.0 - Z);
12887
12863
      double tmp4 = tmp3*tmp3;
12888
12864
      
12889
 
      // Compute basisvalues.
 
12865
      // Compute basisvalues
12890
12866
      basisvalues[0] = 1.0;
12891
12867
      basisvalues[1] = tmp0;
12892
12868
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
13000
12976
      basisvalues[36] *= std::sqrt(175.5);
13001
12977
      basisvalues[35] *= std::sqrt(214.5);
13002
12978
      
13003
 
      // Table(s) of coefficients.
 
12979
      // Table(s) of coefficients
13004
12980
      static const double coefficients0[56] = \
13005
12981
      {0.010023442, -0.024904713, 0.014378743, 0.053609434, -0.014118925, 0.010936472, 0.013394388, -0.0063141751, -0.0077332535, 0.015311061, -0.0029826742, 0.0025208198, 0.027652524, -0.0019526186, -0.021419553, -0.024392541, 0.0011273449, 0.012366584, 0.01408304, 0.010897667, 0.0, 0.0, 0.019784822, 0.0, -0.016721227, -0.0032180016, 0.0, 0.012952207, 0.0024926533, -0.010685025, 0.0, -0.0074779599, -0.0014391341, 0.0061690022, 0.0087242866, 0.0, 0.0, 0.0, 0.0, 0.0, 0.020681124, 0.0, 0.0, -0.01747874, -0.03632888, 0.0, 0.0, 0.013538974, 0.028140229, 0.035741068, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
13006
12982
      
13416
13392
    case 10:
13417
13393
      {
13418
13394
        
13419
 
      // Array of basisvalues.
 
13395
      // Array of basisvalues
13420
13396
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
13421
13397
      
13422
 
      // Declare helper variables.
 
13398
      // Declare helper variables
13423
13399
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
13424
13400
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
13425
13401
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
13426
13402
      double tmp3 = 0.5*(1.0 - Z);
13427
13403
      double tmp4 = tmp3*tmp3;
13428
13404
      
13429
 
      // Compute basisvalues.
 
13405
      // Compute basisvalues
13430
13406
      basisvalues[0] = 1.0;
13431
13407
      basisvalues[1] = tmp0;
13432
13408
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
13540
13516
      basisvalues[36] *= std::sqrt(175.5);
13541
13517
      basisvalues[35] *= std::sqrt(214.5);
13542
13518
      
13543
 
      // Table(s) of coefficients.
 
13519
      // Table(s) of coefficients
13544
13520
      static const double coefficients0[56] = \
13545
13521
      {0.010023442, 0.035470349, -0.020478815, -0.044982629, 0.014118925, -0.010936472, -0.004464796, 0.0063141751, 0.0025777512, -0.021143846, 0.0, 0.0, 0.0033959239, 0.0, -0.0026304714, 0.030835853, 0.0, 0.0015187034, -0.017803088, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.022526011, 0.0, 0.0, -0.017448573, 0.0035616751, 0.0, 0.0, 0.010073938, -0.0020563341, -0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.028255795, 0.0, 0.0, 0.0, -0.021886845, -0.047654757, 0.0, 0.0, 0.0, 0.012636376, 0.027513487, 0.030398396};
13546
13522
      
13956
13932
    case 11:
13957
13933
      {
13958
13934
        
13959
 
      // Array of basisvalues.
 
13935
      // Array of basisvalues
13960
13936
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
13961
13937
      
13962
 
      // Declare helper variables.
 
13938
      // Declare helper variables
13963
13939
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
13964
13940
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
13965
13941
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
13966
13942
      double tmp3 = 0.5*(1.0 - Z);
13967
13943
      double tmp4 = tmp3*tmp3;
13968
13944
      
13969
 
      // Compute basisvalues.
 
13945
      // Compute basisvalues
13970
13946
      basisvalues[0] = 1.0;
13971
13947
      basisvalues[1] = tmp0;
13972
13948
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
14080
14056
      basisvalues[36] *= std::sqrt(175.5);
14081
14057
      basisvalues[35] *= std::sqrt(214.5);
14082
14058
      
14083
 
      // Table(s) of coefficients.
 
14059
      // Table(s) of coefficients
14084
14060
      static const double coefficients0[56] = \
14085
14061
      {-0.010023442, -0.012829701, 0.0074072311, 0.044982629, 0.0, 0.0, 0.017859184, 0.0, -0.010311005, 0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0092047324, 0.0, 0.0, -0.0053143547, 0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.017808375, 0.0, 0.0, 0.0, -0.01028167, 0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.029784223, 0.0, 0.0, 0.0, 0.0, -0.017195929, -0.030398396};
14086
14062
      
14496
14472
    case 12:
14497
14473
      {
14498
14474
        
14499
 
      // Array of basisvalues.
 
14475
      // Array of basisvalues
14500
14476
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
14501
14477
      
14502
 
      // Declare helper variables.
 
14478
      // Declare helper variables
14503
14479
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
14504
14480
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
14505
14481
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
14506
14482
      double tmp3 = 0.5*(1.0 - Z);
14507
14483
      double tmp4 = tmp3*tmp3;
14508
14484
      
14509
 
      // Compute basisvalues.
 
14485
      // Compute basisvalues
14510
14486
      basisvalues[0] = 1.0;
14511
14487
      basisvalues[1] = tmp0;
14512
14488
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
14620
14596
      basisvalues[36] *= std::sqrt(175.5);
14621
14597
      basisvalues[35] *= std::sqrt(214.5);
14622
14598
      
14623
 
      // Table(s) of coefficients.
 
14599
      // Table(s) of coefficients
14624
14600
      static const double coefficients0[56] = \
14625
14601
      {-0.010023442, 0.032451596, -0.0335504, -0.0080106051, 0.021178387, 0.0010936472, -0.016966225, -0.0056827576, 0.0056710526, 0.0083846285, 0.020878719, -0.010923552, -0.016251922, 0.0049900253, 0.0095824315, 0.010892267, -0.0018789081, -0.0046645889, -0.0055800725, -0.0046972703, 0.013934356, -0.0024577893, -0.012090725, -0.0041544222, 0.0046447852, 0.0096540048, 0.0064360032, -0.00071956703, -0.0049853066, -0.0066145394, -0.0046447852, -0.00041544222, 0.0021587011, 0.0032313821, 0.0029080955, 0.0, 0.012764667, -0.0011652494, -0.020263281, -0.0071935734, 0.0018383222, 0.022834131, 0.011290833, 0.0031073316, -0.0020182711, -0.020635115, -0.011436869, -0.0048138574, -0.00052111535, 0.0017019556, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
14626
14602
      
15036
15012
    case 13:
15037
15013
      {
15038
15014
        
15039
 
      // Array of basisvalues.
 
15015
      // Array of basisvalues
15040
15016
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
15041
15017
      
15042
 
      // Declare helper variables.
 
15018
      // Declare helper variables
15043
15019
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
15044
15020
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
15045
15021
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
15046
15022
      double tmp3 = 0.5*(1.0 - Z);
15047
15023
      double tmp4 = tmp3*tmp3;
15048
15024
      
15049
 
      // Compute basisvalues.
 
15025
      // Compute basisvalues
15050
15026
      basisvalues[0] = 1.0;
15051
15027
      basisvalues[1] = tmp0;
15052
15028
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
15160
15136
      basisvalues[36] *= std::sqrt(175.5);
15161
15137
      basisvalues[35] *= std::sqrt(214.5);
15162
15138
      
15163
 
      // Table(s) of coefficients.
 
15139
      // Table(s) of coefficients
15164
15140
      static const double coefficients0[56] = \
15165
15141
      {0.010023442, -0.024904713, 0.055336373, -0.0043134027, -0.014118925, 0.015311061, 0.0080366328, 0.0088398451, -0.015982057, 0.00072909813, -0.0029826742, 0.027729018, -0.001455396, -0.03015711, -0.01164923, 0.0035284807, 0.019164863, 0.009763093, 0.0013285887, -0.0026304714, 0.0, 0.019662314, -0.0021983136, -0.0072702388, -0.014863313, 0.004022502, -0.0072405036, 0.012952207, 0.0068547966, -0.0045792965, 0.0092895704, -0.0066470755, -0.0057565362, -0.00029376201, 0.0029080955, 0.0, 0.0, 0.0, 0.020263281, -0.0041106133, 0.00045958054, -0.039959729, -0.0030398396, 0.004272581, -0.0010091355, 0.046429009, 0.0090822199, -0.0027077948, -0.0023450191, 0.0012764667, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
15166
15142
      
15576
15552
    case 14:
15577
15553
      {
15578
15554
        
15579
 
      // Array of basisvalues.
 
15555
      // Array of basisvalues
15580
15556
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
15581
15557
      
15582
 
      // Declare helper variables.
 
15558
      // Declare helper variables
15583
15559
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
15584
15560
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
15585
15561
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
15586
15562
      double tmp3 = 0.5*(1.0 - Z);
15587
15563
      double tmp4 = tmp3*tmp3;
15588
15564
      
15589
 
      // Compute basisvalues.
 
15565
      // Compute basisvalues
15590
15566
      basisvalues[0] = 1.0;
15591
15567
      basisvalues[1] = tmp0;
15592
15568
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
15700
15676
      basisvalues[36] *= std::sqrt(175.5);
15701
15677
      basisvalues[35] *= std::sqrt(214.5);
15702
15678
      
15703
 
      // Table(s) of coefficients.
 
15679
      // Table(s) of coefficients
15704
15680
      static const double coefficients0[56] = \
15705
15681
      {0.010023442, 0.035470349, -0.049236301, -0.0043134027, 0.014118925, -0.0065618832, -0.0098225512, -0.016416855, 0.014950957, 0.00072909813, 0.0, 0.003361093, -0.00048513199, 0.028204491, -0.012400794, 0.0029148319, -0.035323473, 0.0088952625, 0.0023914596, -0.0026304714, 0.0, 0.0, 0.0, 0.021810716, -0.0055737422, 0.0008045004, -0.004022502, -0.014391341, 0.0093474499, -0.0025440536, -0.0092895704, 0.014125035, -0.0028782681, -0.0038189061, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.026639819, -0.0091195187, 0.0023304987, -0.00033637851, -0.051587788, 0.0084094629, 0.0030086609, -0.0028661344, 0.00085097781, 0.04254889, -0.0038841645, -0.0034741024, 0.0012034644, 0.00098262453, -0.00086852559};
15706
15682
      
16116
16092
    case 15:
16117
16093
      {
16118
16094
        
16119
 
      // Array of basisvalues.
 
16095
      // Array of basisvalues
16120
16096
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
16121
16097
      
16122
 
      // Declare helper variables.
 
16098
      // Declare helper variables
16123
16099
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
16124
16100
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
16125
16101
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
16126
16102
      double tmp3 = 0.5*(1.0 - Z);
16127
16103
      double tmp4 = tmp3*tmp3;
16128
16104
      
16129
 
      // Compute basisvalues.
 
16105
      // Compute basisvalues
16130
16106
      basisvalues[0] = 1.0;
16131
16107
      basisvalues[1] = tmp0;
16132
16108
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
16240
16216
      basisvalues[36] *= std::sqrt(175.5);
16241
16217
      basisvalues[35] *= std::sqrt(214.5);
16242
16218
      
16243
 
      // Table(s) of coefficients.
 
16219
      // Table(s) of coefficients
16244
16220
      static const double coefficients0[56] = \
16245
16221
      {-0.010023442, -0.012829701, 0.044879106, -0.0080106051, 0.0, 0.017498355, -0.0035718368, 0.013259768, -0.017528708, 0.0083846285, 0.0, 0.0, 0.0, 0.0086783049, -0.003006253, 0.00061364883, 0.022546898, -0.01920075, 0.012223016, -0.0046972703, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.016090008, -0.0071956703, 0.0024926533, -0.00050881073, 0.0046447852, -0.010801498, 0.010793505, -0.0073440502, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.025793894, -0.013455141, 0.0060173218, -0.0020844614, 0.0004254889, -0.031911668, 0.013594576, -0.0034741024, -0.00090259827, 0.0017195929, -0.00086852559};
16246
16222
      
16656
16632
    case 16:
16657
16633
      {
16658
16634
        
16659
 
      // Array of basisvalues.
 
16635
      // Array of basisvalues
16660
16636
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
16661
16637
      
16662
 
      // Declare helper variables.
 
16638
      // Declare helper variables
16663
16639
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
16664
16640
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
16665
16641
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
16666
16642
      double tmp3 = 0.5*(1.0 - Z);
16667
16643
      double tmp4 = tmp3*tmp3;
16668
16644
      
16669
 
      // Compute basisvalues.
 
16645
      // Compute basisvalues
16670
16646
      basisvalues[0] = 1.0;
16671
16647
      basisvalues[1] = tmp0;
16672
16648
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
16780
16756
      basisvalues[36] *= std::sqrt(175.5);
16781
16757
      basisvalues[35] *= std::sqrt(214.5);
16782
16758
      
16783
 
      // Table(s) of coefficients.
 
16759
      // Table(s) of coefficients
16784
16760
      static const double coefficients0[56] = \
16785
16761
      {-0.010023442, -0.032451596, -0.018735937, -0.028961418, 0.021178387, 0.016404708, -0.004464796, 0.0094712626, -0.0025777512, -0.0061973341, -0.020878719, -0.017645738, -0.0084898099, -0.01366833, -0.0065761785, -0.0023011831, -0.0078914141, -0.0037967584, -0.0013285887, -0.00018789081, 0.013934356, 0.012288947, 0.0010991568, 0.010386055, 0.00092895704, -0.0048270024, 0.008045004, 0.00071956703, -0.00373898, -0.005596918, 0.0046447852, 0.00041544222, -0.0021587011, -0.0032313821, -0.0029080955, 0.0, 0.0, 0.012817743, 0.0, 0.011304187, 0.018383222, 0.0, 0.0095537815, 0.015536658, 0.01816444, 0.0, 0.0074003273, 0.012034644, 0.014070115, 0.013615645, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
16786
16762
      
17196
17172
    case 17:
17197
17173
      {
17198
17174
        
17199
 
      // Array of basisvalues.
 
17175
      // Array of basisvalues
17200
17176
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
17201
17177
      
17202
 
      // Declare helper variables.
 
17178
      // Declare helper variables
17203
17179
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
17204
17180
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
17205
17181
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
17206
17182
      double tmp3 = 0.5*(1.0 - Z);
17207
17183
      double tmp4 = tmp3*tmp3;
17208
17184
      
17209
 
      // Compute basisvalues.
 
17185
      // Compute basisvalues
17210
17186
      basisvalues[0] = 1.0;
17211
17187
      basisvalues[1] = tmp0;
17212
17188
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
17320
17296
      basisvalues[36] *= std::sqrt(175.5);
17321
17297
      basisvalues[35] *= std::sqrt(214.5);
17322
17298
      
17323
 
      // Table(s) of coefficients.
 
17299
      // Table(s) of coefficients
17324
17300
      static const double coefficients0[56] = \
17325
17301
      {0.010023442, 0.024904713, 0.014378743, 0.053609434, -0.014118925, -0.010936472, -0.013394388, -0.0063141751, -0.0077332535, 0.015311061, 0.0029826742, 0.0025208198, 0.027652524, 0.0019526186, 0.021419553, 0.024392541, 0.0011273449, 0.012366584, 0.01408304, 0.010897667, 0.0, 0.0, -0.019784822, 0.0, -0.016721227, -0.0032180016, 0.0, -0.012952207, -0.0024926533, 0.010685025, 0.0, -0.0074779599, -0.0014391341, 0.0061690022, 0.0087242866, 0.0, 0.0, 0.0, 0.0, 0.0, -0.020681124, 0.0, 0.0, -0.01747874, -0.03632888, 0.0, 0.0, -0.013538974, -0.028140229, -0.035741068, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
17326
17302
      
17736
17712
    case 18:
17737
17713
      {
17738
17714
        
17739
 
      // Array of basisvalues.
 
17715
      // Array of basisvalues
17740
17716
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
17741
17717
      
17742
 
      // Declare helper variables.
 
17718
      // Declare helper variables
17743
17719
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
17744
17720
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
17745
17721
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
17746
17722
      double tmp3 = 0.5*(1.0 - Z);
17747
17723
      double tmp4 = tmp3*tmp3;
17748
17724
      
17749
 
      // Compute basisvalues.
 
17725
      // Compute basisvalues
17750
17726
      basisvalues[0] = 1.0;
17751
17727
      basisvalues[1] = tmp0;
17752
17728
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
17860
17836
      basisvalues[36] *= std::sqrt(175.5);
17861
17837
      basisvalues[35] *= std::sqrt(214.5);
17862
17838
      
17863
 
      // Table(s) of coefficients.
 
17839
      // Table(s) of coefficients
17864
17840
      static const double coefficients0[56] = \
17865
17841
      {0.010023442, -0.035470349, -0.020478815, -0.044982629, 0.014118925, 0.010936472, 0.004464796, 0.0063141751, 0.0025777512, -0.021143846, 0.0, 0.0, 0.0033959239, 0.0, 0.0026304714, -0.030835853, 0.0, 0.0015187034, -0.017803088, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.022526011, 0.0, 0.0, 0.017448573, -0.0035616751, 0.0, 0.0, 0.010073938, -0.0020563341, -0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.028255795, 0.0, 0.0, 0.0, 0.021886845, 0.047654757, 0.0, 0.0, 0.0, 0.012636376, 0.027513487, 0.030398396};
17866
17842
      
18276
18252
    case 19:
18277
18253
      {
18278
18254
        
18279
 
      // Array of basisvalues.
 
18255
      // Array of basisvalues
18280
18256
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
18281
18257
      
18282
 
      // Declare helper variables.
 
18258
      // Declare helper variables
18283
18259
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
18284
18260
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
18285
18261
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
18286
18262
      double tmp3 = 0.5*(1.0 - Z);
18287
18263
      double tmp4 = tmp3*tmp3;
18288
18264
      
18289
 
      // Compute basisvalues.
 
18265
      // Compute basisvalues
18290
18266
      basisvalues[0] = 1.0;
18291
18267
      basisvalues[1] = tmp0;
18292
18268
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
18400
18376
      basisvalues[36] *= std::sqrt(175.5);
18401
18377
      basisvalues[35] *= std::sqrt(214.5);
18402
18378
      
18403
 
      // Table(s) of coefficients.
 
18379
      // Table(s) of coefficients
18404
18380
      static const double coefficients0[56] = \
18405
18381
      {-0.010023442, 0.012829701, 0.0074072311, 0.044982629, 0.0, 0.0, -0.017859184, 0.0, -0.010311005, 0.021143846, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0092047324, 0.0, 0.0, -0.0053143547, 0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.017808375, 0.0, 0.0, 0.0, -0.01028167, 0.014540478, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.029784223, 0.0, 0.0, 0.0, 0.0, -0.017195929, -0.030398396};
18406
18382
      
18816
18792
    case 20:
18817
18793
      {
18818
18794
        
18819
 
      // Array of basisvalues.
 
18795
      // Array of basisvalues
18820
18796
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
18821
18797
      
18822
 
      // Declare helper variables.
 
18798
      // Declare helper variables
18823
18799
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
18824
18800
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
18825
18801
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
18826
18802
      double tmp3 = 0.5*(1.0 - Z);
18827
18803
      double tmp4 = tmp3*tmp3;
18828
18804
      
18829
 
      // Compute basisvalues.
 
18805
      // Compute basisvalues
18830
18806
      basisvalues[0] = 1.0;
18831
18807
      basisvalues[1] = tmp0;
18832
18808
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
18940
18916
      basisvalues[36] *= std::sqrt(175.5);
18941
18917
      basisvalues[35] *= std::sqrt(214.5);
18942
18918
      
18943
 
      // Table(s) of coefficients.
 
18919
      // Table(s) of coefficients
18944
18920
      static const double coefficients0[56] = \
18945
18921
      {-0.010023442, -0.032451596, -0.0335504, -0.0080106051, 0.021178387, -0.0010936472, 0.016966225, -0.0056827576, 0.0056710526, 0.0083846285, -0.020878719, -0.010923552, -0.016251922, -0.0049900253, -0.0095824315, -0.010892267, -0.0018789081, -0.0046645889, -0.0055800725, -0.0046972703, 0.013934356, 0.0024577893, 0.012090725, -0.0041544222, 0.0046447852, 0.0096540048, -0.0064360032, 0.00071956703, 0.0049853066, 0.0066145394, -0.0046447852, -0.00041544222, 0.0021587011, 0.0032313821, 0.0029080955, 0.0, 0.012764667, -0.0011652494, 0.020263281, 0.0071935734, -0.0018383222, 0.022834131, 0.011290833, 0.0031073316, -0.0020182711, 0.020635115, 0.011436869, 0.0048138574, 0.00052111535, -0.0017019556, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
18946
18922
      
19356
19332
    case 21:
19357
19333
      {
19358
19334
        
19359
 
      // Array of basisvalues.
 
19335
      // Array of basisvalues
19360
19336
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
19361
19337
      
19362
 
      // Declare helper variables.
 
19338
      // Declare helper variables
19363
19339
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
19364
19340
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
19365
19341
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
19366
19342
      double tmp3 = 0.5*(1.0 - Z);
19367
19343
      double tmp4 = tmp3*tmp3;
19368
19344
      
19369
 
      // Compute basisvalues.
 
19345
      // Compute basisvalues
19370
19346
      basisvalues[0] = 1.0;
19371
19347
      basisvalues[1] = tmp0;
19372
19348
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
19480
19456
      basisvalues[36] *= std::sqrt(175.5);
19481
19457
      basisvalues[35] *= std::sqrt(214.5);
19482
19458
      
19483
 
      // Table(s) of coefficients.
 
19459
      // Table(s) of coefficients
19484
19460
      static const double coefficients0[56] = \
19485
19461
      {0.010023442, 0.024904713, 0.055336373, -0.0043134027, -0.014118925, -0.015311061, -0.0080366328, 0.0088398451, -0.015982057, 0.00072909813, 0.0029826742, 0.027729018, -0.001455396, 0.03015711, 0.01164923, -0.0035284807, 0.019164863, 0.009763093, 0.0013285887, -0.0026304714, 0.0, -0.019662314, 0.0021983136, -0.0072702388, -0.014863313, 0.004022502, 0.0072405036, -0.012952207, -0.0068547966, 0.0045792965, 0.0092895704, -0.0066470755, -0.0057565362, -0.00029376201, 0.0029080955, 0.0, 0.0, 0.0, -0.020263281, 0.0041106133, -0.00045958054, -0.039959729, -0.0030398396, 0.004272581, -0.0010091355, -0.046429009, -0.0090822199, 0.0027077948, 0.0023450191, -0.0012764667, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
19486
19462
      
19896
19872
    case 22:
19897
19873
      {
19898
19874
        
19899
 
      // Array of basisvalues.
 
19875
      // Array of basisvalues
19900
19876
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
19901
19877
      
19902
 
      // Declare helper variables.
 
19878
      // Declare helper variables
19903
19879
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
19904
19880
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
19905
19881
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
19906
19882
      double tmp3 = 0.5*(1.0 - Z);
19907
19883
      double tmp4 = tmp3*tmp3;
19908
19884
      
19909
 
      // Compute basisvalues.
 
19885
      // Compute basisvalues
19910
19886
      basisvalues[0] = 1.0;
19911
19887
      basisvalues[1] = tmp0;
19912
19888
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
20020
19996
      basisvalues[36] *= std::sqrt(175.5);
20021
19997
      basisvalues[35] *= std::sqrt(214.5);
20022
19998
      
20023
 
      // Table(s) of coefficients.
 
19999
      // Table(s) of coefficients
20024
20000
      static const double coefficients0[56] = \
20025
20001
      {0.010023442, -0.035470349, -0.049236301, -0.0043134027, 0.014118925, 0.0065618832, 0.0098225512, -0.016416855, 0.014950957, 0.00072909813, 0.0, 0.003361093, -0.00048513199, -0.028204491, 0.012400794, -0.0029148319, -0.035323473, 0.0088952625, 0.0023914596, -0.0026304714, 0.0, 0.0, 0.0, 0.021810716, -0.0055737422, 0.0008045004, 0.004022502, 0.014391341, -0.0093474499, 0.0025440536, -0.0092895704, 0.014125035, -0.0028782681, -0.0038189061, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.026639819, -0.0091195187, 0.0023304987, -0.00033637851, 0.051587788, -0.0084094629, -0.0030086609, 0.0028661344, -0.00085097781, 0.04254889, -0.0038841645, -0.0034741024, 0.0012034644, 0.00098262453, -0.00086852559};
20026
20002
      
20436
20412
    case 23:
20437
20413
      {
20438
20414
        
20439
 
      // Array of basisvalues.
 
20415
      // Array of basisvalues
20440
20416
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
20441
20417
      
20442
 
      // Declare helper variables.
 
20418
      // Declare helper variables
20443
20419
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
20444
20420
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
20445
20421
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
20446
20422
      double tmp3 = 0.5*(1.0 - Z);
20447
20423
      double tmp4 = tmp3*tmp3;
20448
20424
      
20449
 
      // Compute basisvalues.
 
20425
      // Compute basisvalues
20450
20426
      basisvalues[0] = 1.0;
20451
20427
      basisvalues[1] = tmp0;
20452
20428
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
20560
20536
      basisvalues[36] *= std::sqrt(175.5);
20561
20537
      basisvalues[35] *= std::sqrt(214.5);
20562
20538
      
20563
 
      // Table(s) of coefficients.
 
20539
      // Table(s) of coefficients
20564
20540
      static const double coefficients0[56] = \
20565
20541
      {-0.010023442, 0.012829701, 0.044879106, -0.0080106051, 0.0, -0.017498355, 0.0035718368, 0.013259768, -0.017528708, 0.0083846285, 0.0, 0.0, 0.0, -0.0086783049, 0.003006253, -0.00061364883, 0.022546898, -0.01920075, 0.012223016, -0.0046972703, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.016090008, 0.0071956703, -0.0024926533, 0.00050881073, 0.0046447852, -0.010801498, 0.010793505, -0.0073440502, 0.0029080955, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.025793894, 0.013455141, -0.0060173218, 0.0020844614, -0.0004254889, -0.031911668, 0.013594576, -0.0034741024, -0.00090259827, 0.0017195929, -0.00086852559};
20566
20542
      
20976
20952
    case 24:
20977
20953
      {
20978
20954
        
20979
 
      // Array of basisvalues.
 
20955
      // Array of basisvalues
20980
20956
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
20981
20957
      
20982
 
      // Declare helper variables.
 
20958
      // Declare helper variables
20983
20959
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
20984
20960
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
20985
20961
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
20986
20962
      double tmp3 = 0.5*(1.0 - Z);
20987
20963
      double tmp4 = tmp3*tmp3;
20988
20964
      
20989
 
      // Compute basisvalues.
 
20965
      // Compute basisvalues
20990
20966
      basisvalues[0] = 1.0;
20991
20967
      basisvalues[1] = tmp0;
20992
20968
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
21100
21076
      basisvalues[36] *= std::sqrt(175.5);
21101
21077
      basisvalues[35] *= std::sqrt(214.5);
21102
21078
      
21103
 
      // Table(s) of coefficients.
 
21079
      // Table(s) of coefficients
21104
21080
      static const double coefficients0[56] = \
21105
21081
      {-0.010023442, -0.045281296, -0.011328706, -0.0080106051, -0.0014118925, 0.016404708, 0.013394388, 0.014522603, 0.011857655, 0.0083846285, -0.0089480226, -0.014284645, -0.012370866, -0.014536161, -0.012588684, -0.010278618, -0.0093945406, -0.0081359109, -0.0066429434, -0.0046972703, -0.0083606134, 0.0024577893, 0.0021983136, 0.0083088444, 0.0074316563, 0.0064360032, 0.0096540048, 0.0086348044, 0.0074779599, 0.0061057287, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, 0.035279676, 0.019147001, 0.01747874, 0.0078801648, 0.0071935734, 0.0064341276, 0.00095142211, 0.00086852559, 0.0007768329, 0.00067275703, -0.0022109052, -0.0020182711, -0.0018051965, -0.0015633461, -0.0012764667, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
21106
21082
      
21516
21492
    case 25:
21517
21493
      {
21518
21494
        
21519
 
      // Array of basisvalues.
 
21495
      // Array of basisvalues
21520
21496
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
21521
21497
      
21522
 
      // Declare helper variables.
 
21498
      // Declare helper variables
21523
21499
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
21524
21500
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
21525
21501
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
21526
21502
      double tmp3 = 0.5*(1.0 - Z);
21527
21503
      double tmp4 = tmp3*tmp3;
21528
21504
      
21529
 
      // Compute basisvalues.
 
21505
      // Compute basisvalues
21530
21506
      basisvalues[0] = 1.0;
21531
21507
      basisvalues[1] = tmp0;
21532
21508
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
21640
21616
      basisvalues[36] *= std::sqrt(175.5);
21641
21617
      basisvalues[35] *= std::sqrt(214.5);
21642
21618
      
21643
 
      // Table(s) of coefficients.
 
21619
      // Table(s) of coefficients
21644
21620
      static const double coefficients0[56] = \
21645
21621
      {0.010023442, 0.060375061, -0.0061000726, -0.0043134027, -0.0056475699, -0.021872944, -0.017859184, 0.001262835, 0.0010311005, 0.00072909813, 0.041757439, 0.016805465, 0.01455396, -0.00086783049, -0.00075156325, -0.00061364883, -0.0052609428, -0.0045561101, -0.0037200483, -0.0026304714, 0.0055737422, -0.019662314, -0.017586509, -0.010386055, -0.0092895704, -0.008045004, 0.0032180016, 0.0028782681, 0.0024926533, 0.0020352429, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, -0.070559352, -0.012764667, -0.011652494, 0.0045029513, 0.0041106133, 0.0036766443, 0.0038056885, 0.0034741024, 0.0031073316, 0.0026910281, -0.0007369684, -0.00067275703, -0.00060173218, -0.00052111535, -0.0004254889, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
21646
21622
      
22056
22032
    case 26:
22057
22033
      {
22058
22034
        
22059
 
      // Array of basisvalues.
 
22035
      // Array of basisvalues
22060
22036
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
22061
22037
      
22062
 
      // Declare helper variables.
 
22038
      // Declare helper variables
22063
22039
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
22064
22040
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
22065
22041
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
22066
22042
      double tmp3 = 0.5*(1.0 - Z);
22067
22043
      double tmp4 = tmp3*tmp3;
22068
22044
      
22069
 
      // Compute basisvalues.
 
22045
      // Compute basisvalues
22070
22046
      basisvalues[0] = 1.0;
22071
22047
      basisvalues[1] = tmp0;
22072
22048
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
22180
22156
      basisvalues[36] *= std::sqrt(175.5);
22181
22157
      basisvalues[35] *= std::sqrt(214.5);
22182
22158
      
22183
 
      // Table(s) of coefficients.
 
22159
      // Table(s) of coefficients
22184
22160
      static const double coefficients0[56] = \
22185
22161
      {0.010023442, -0.060375061, -0.0061000726, -0.0043134027, -0.0056475699, 0.021872944, 0.017859184, 0.001262835, 0.0010311005, 0.00072909813, -0.041757439, 0.016805465, 0.01455396, 0.00086783049, 0.00075156325, 0.00061364883, -0.0052609428, -0.0045561101, -0.0037200483, -0.0026304714, 0.0055737422, 0.019662314, 0.017586509, -0.010386055, -0.0092895704, -0.008045004, -0.0032180016, -0.0028782681, -0.0024926533, -0.0020352429, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, 0.070559352, -0.012764667, -0.011652494, -0.0045029513, -0.0041106133, -0.0036766443, 0.0038056885, 0.0034741024, 0.0031073316, 0.0026910281, 0.0007369684, 0.00067275703, 0.00060173218, 0.00052111535, 0.0004254889, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
22186
22162
      
22596
22572
    case 27:
22597
22573
      {
22598
22574
        
22599
 
      // Array of basisvalues.
 
22575
      // Array of basisvalues
22600
22576
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
22601
22577
      
22602
 
      // Declare helper variables.
 
22578
      // Declare helper variables
22603
22579
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
22604
22580
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
22605
22581
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
22606
22582
      double tmp3 = 0.5*(1.0 - Z);
22607
22583
      double tmp4 = tmp3*tmp3;
22608
22584
      
22609
 
      // Compute basisvalues.
 
22585
      // Compute basisvalues
22610
22586
      basisvalues[0] = 1.0;
22611
22587
      basisvalues[1] = tmp0;
22612
22588
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
22720
22696
      basisvalues[36] *= std::sqrt(175.5);
22721
22697
      basisvalues[35] *= std::sqrt(214.5);
22722
22698
      
22723
 
      // Table(s) of coefficients.
 
22699
      // Table(s) of coefficients
22724
22700
      static const double coefficients0[56] = \
22725
22701
      {-0.010023442, 0.045281296, -0.011328706, -0.0080106051, -0.0014118925, -0.016404708, -0.013394388, 0.014522603, 0.011857655, 0.0083846285, 0.0089480226, -0.014284645, -0.012370866, 0.014536161, 0.012588684, 0.010278618, -0.0093945406, -0.0081359109, -0.0066429434, -0.0046972703, -0.0083606134, -0.0024577893, -0.0021983136, 0.0083088444, 0.0074316563, 0.0064360032, -0.0096540048, -0.0086348044, -0.0074779599, -0.0061057287, 0.0065026993, 0.0058161911, 0.0050369692, 0.0041126681, 0.0029080955, -0.035279676, 0.019147001, 0.01747874, -0.0078801648, -0.0071935734, -0.0064341276, 0.00095142211, 0.00086852559, 0.0007768329, 0.00067275703, 0.0022109052, 0.0020182711, 0.0018051965, 0.0015633461, 0.0012764667, -0.0021274445, -0.0019420823, -0.0017370512, -0.0015043304, -0.0012282807, -0.00086852559};
22726
22702
      
23136
23112
    case 28:
23137
23113
      {
23138
23114
        
23139
 
      // Array of basisvalues.
 
23115
      // Array of basisvalues
23140
23116
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
23141
23117
      
23142
 
      // Declare helper variables.
 
23118
      // Declare helper variables
23143
23119
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
23144
23120
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
23145
23121
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
23146
23122
      double tmp3 = 0.5*(1.0 - Z);
23147
23123
      double tmp4 = tmp3*tmp3;
23148
23124
      
23149
 
      // Compute basisvalues.
 
23125
      // Compute basisvalues
23150
23126
      basisvalues[0] = 1.0;
23151
23127
      basisvalues[1] = tmp0;
23152
23128
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
23260
23236
      basisvalues[36] *= std::sqrt(175.5);
23261
23237
      basisvalues[35] *= std::sqrt(214.5);
23262
23238
      
23263
 
      // Table(s) of coefficients.
 
23239
      // Table(s) of coefficients
23264
23240
      static const double coefficients0[56] = \
23265
23241
      {0.078755617, 0.067921944, -0.0043571947, -0.003081002, 0.070594623, -0.032809416, -0.026788776, 0.01262835, 0.036088516, -0.0072909813, 0.029826742, 0.015124919, 0.013098564, -0.032543643, -0.022922679, -0.024852777, 0.024801587, 0.016922695, 0.0164745, 0.014279702, 0.0, 0.024577893, 0.021983136, -0.036351194, -0.0074316563, -0.034593517, 0.036202518, 0.0, 0.01308643, 0.033581508, -0.023223926, 0.0016617689, -0.0035978352, -0.0146881, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.022608373, -0.0045958054, 0.0, -0.033438235, -0.019420823, 0.0090822199, 0.0, 0.033301473, 0.027077948, 0.0070350573, -0.010211734, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
23266
23242
      
23676
23652
    case 29:
23677
23653
      {
23678
23654
        
23679
 
      // Array of basisvalues.
 
23655
      // Array of basisvalues
23680
23656
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
23681
23657
      
23682
 
      // Declare helper variables.
 
23658
      // Declare helper variables
23683
23659
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
23684
23660
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
23685
23661
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
23686
23662
      double tmp3 = 0.5*(1.0 - Z);
23687
23663
      double tmp4 = tmp3*tmp3;
23688
23664
      
23689
 
      // Compute basisvalues.
 
23665
      // Compute basisvalues
23690
23666
      basisvalues[0] = 1.0;
23691
23667
      basisvalues[1] = tmp0;
23692
23668
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
23800
23776
      basisvalues[36] *= std::sqrt(175.5);
23801
23777
      basisvalues[35] *= std::sqrt(214.5);
23802
23778
      
23803
 
      // Table(s) of coefficients.
 
23779
      // Table(s) of coefficients
23804
23780
      static const double coefficients0[56] = \
23805
23781
      {-0.021478805, 0.0037734413, 0.0021785974, -0.021567014, 0.0, 0.098428248, -0.031253572, -0.085241363, -0.018044258, 0.030986671, 0.0, 0.045374756, -0.011643168, 0.0, 0.023674242, -0.0013807099, -0.020292208, -0.033519953, -0.00079715321, 0.0039457071, 0.0, 0.0, 0.0, 0.036351194, 0.024152883, -0.0072405036, -0.06033753, 0.0, -0.03925929, 0.018825997, 0.046447852, -0.010801498, 0.025904413, 0.010869194, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.033438235, -0.015536658, 0.0030274066, 0.0, -0.055502455, 0.0, 0.016415134, -0.0068078225, 0.0, 0.04272581, 0.0069482047, -0.010831179, -0.0039304981, 0.0060796791};
23806
23782
      
24216
24192
    case 30:
24217
24193
      {
24218
24194
        
24219
 
      // Array of basisvalues.
 
24195
      // Array of basisvalues
24220
24196
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
24221
24197
      
24222
 
      // Declare helper variables.
 
24198
      // Declare helper variables
24223
24199
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
24224
24200
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
24225
24201
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
24226
24202
      double tmp3 = 0.5*(1.0 - Z);
24227
24203
      double tmp4 = tmp3*tmp3;
24228
24204
      
24229
 
      // Compute basisvalues.
 
24205
      // Compute basisvalues
24230
24206
      basisvalues[0] = 1.0;
24231
24207
      basisvalues[1] = tmp0;
24232
24208
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
24340
24316
      basisvalues[36] *= std::sqrt(175.5);
24341
24317
      basisvalues[35] *= std::sqrt(214.5);
24342
24318
      
24343
 
      // Table(s) of coefficients.
 
24319
      // Table(s) of coefficients
24344
24320
      static const double coefficients0[56] = \
24345
24321
      {0.078755617, 0.030187531, 0.061000726, -0.003081002, 0.0, 0.021872944, 0.017859184, 0.075770101, -0.041244019, -0.0072909813, 0.0, 0.0, 0.0, 0.052069829, -0.012776575, 0.0018409465, -0.009018759, 0.028638406, -0.029760386, 0.014279702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04022502, 0.014391341, -0.013709593, 0.0040704858, -0.046447852, 0.018279458, -0.034539217, 0.036426489, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.037001637, -0.030086609, 0.014070115, -0.0034039112, 0.0, -0.04272581, 0.024318717, 0.0, -0.0098262453, 0.0060796791};
24346
24322
      
24756
24732
    case 31:
24757
24733
      {
24758
24734
        
24759
 
      // Array of basisvalues.
 
24735
      // Array of basisvalues
24760
24736
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
24761
24737
      
24762
 
      // Declare helper variables.
 
24738
      // Declare helper variables
24763
24739
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
24764
24740
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
24765
24741
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
24766
24742
      double tmp3 = 0.5*(1.0 - Z);
24767
24743
      double tmp4 = tmp3*tmp3;
24768
24744
      
24769
 
      // Compute basisvalues.
 
24745
      // Compute basisvalues
24770
24746
      basisvalues[0] = 1.0;
24771
24747
      basisvalues[1] = tmp0;
24772
24748
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
24880
24856
      basisvalues[36] *= std::sqrt(175.5);
24881
24857
      basisvalues[35] *= std::sqrt(214.5);
24882
24858
      
24883
 
      // Table(s) of coefficients.
 
24859
      // Table(s) of coefficients
24884
24860
      static const double coefficients0[56] = \
24885
24861
      {-0.021478805, 0.0037734413, -0.019607376, 0.0092430059, 0.0, -0.010936472, 0.10269031, 0.0094712626, -0.069599282, -0.060150596, 0.0, -0.0050416396, 0.046572671, 0.0065087287, 0.021419553, -0.0078240225, -0.0045093795, -0.028963843, -0.026306056, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.033442453, 0.028962014, 0.0, -0.043174022, -0.0024926533, -0.060548476, 0.0, 0.02991184, -0.0043174022, 0.018507007, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034957481, -0.012109627, 0.0, 0.0, -0.045129913, -0.028140229, 0.023827379, 0.0, 0.0, 0.031266921, 0.027077948, 0.0, -0.018239037};
24886
24862
      
25296
25272
    case 32:
25297
25273
      {
25298
25274
        
25299
 
      // Array of basisvalues.
 
25275
      // Array of basisvalues
25300
25276
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
25301
25277
      
25302
 
      // Declare helper variables.
 
25278
      // Declare helper variables
25303
25279
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
25304
25280
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
25305
25281
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
25306
25282
      double tmp3 = 0.5*(1.0 - Z);
25307
25283
      double tmp4 = tmp3*tmp3;
25308
25284
      
25309
 
      // Compute basisvalues.
 
25285
      // Compute basisvalues
25310
25286
      basisvalues[0] = 1.0;
25311
25287
      basisvalues[1] = tmp0;
25312
25288
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
25420
25396
      basisvalues[36] *= std::sqrt(175.5);
25421
25397
      basisvalues[35] *= std::sqrt(214.5);
25422
25398
      
25423
 
      // Table(s) of coefficients.
 
25399
      // Table(s) of coefficients
25424
25400
      static const double coefficients0[56] = \
25425
25401
      {-0.021478805, -0.015093765, 0.013071584, 0.0092430059, 0.0, -0.010936472, -0.008929592, 0.0094712626, 0.12373206, -0.060150596, 0.0, 0.0, 0.0, -0.0065087287, 0.057494589, -0.026693724, 0.0067640693, 0.012692021, 0.0063772257, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.043174022, 0.019941226, -0.0142467, 0.0, -0.04486776, 0.021587011, -0.061690022, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.045129913, -0.037520305, 0.011913689, 0.0, 0.0, -0.046900382, 0.016246769, 0.020635115, -0.018239037};
25426
25402
      
25836
25812
    case 33:
25837
25813
      {
25838
25814
        
25839
 
      // Array of basisvalues.
 
25815
      // Array of basisvalues
25840
25816
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
25841
25817
      
25842
 
      // Declare helper variables.
 
25818
      // Declare helper variables
25843
25819
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
25844
25820
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
25845
25821
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
25846
25822
      double tmp3 = 0.5*(1.0 - Z);
25847
25823
      double tmp4 = tmp3*tmp3;
25848
25824
      
25849
 
      // Compute basisvalues.
 
25825
      // Compute basisvalues
25850
25826
      basisvalues[0] = 1.0;
25851
25827
      basisvalues[1] = tmp0;
25852
25828
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
25960
25936
      basisvalues[36] *= std::sqrt(175.5);
25961
25937
      basisvalues[35] *= std::sqrt(214.5);
25962
25938
      
25963
 
      // Table(s) of coefficients.
 
25939
      // Table(s) of coefficients
25964
25940
      static const double coefficients0[56] = \
25965
25941
      {0.078755617, 0.030187531, 0.017428779, 0.058539037, 0.0, 0.021872944, 0.017859184, -0.018942525, 0.010311005, 0.083846285, 0.0, 0.0, 0.0, 0.0, 0.0052609428, 0.053387448, 0.0, -0.0045561101, 0.030823257, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034897146, 0.028493401, 0.0, 0.0, -0.030221815, 0.016450673, -0.064393544, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04377369, -0.023827379, 0.0, 0.0, 0.0, -0.037909127, -0.013756743, 0.030398396};
25966
25942
      
26376
26352
    case 34:
26377
26353
      {
26378
26354
        
26379
 
      // Array of basisvalues.
 
26355
      // Array of basisvalues
26380
26356
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
26381
26357
      
26382
 
      // Declare helper variables.
 
26358
      // Declare helper variables
26383
26359
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
26384
26360
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
26385
26361
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
26386
26362
      double tmp3 = 0.5*(1.0 - Z);
26387
26363
      double tmp4 = tmp3*tmp3;
26388
26364
      
26389
 
      // Compute basisvalues.
 
26365
      // Compute basisvalues
26390
26366
      basisvalues[0] = 1.0;
26391
26367
      basisvalues[1] = tmp0;
26392
26368
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
26500
26476
      basisvalues[36] *= std::sqrt(175.5);
26501
26477
      basisvalues[35] *= std::sqrt(214.5);
26502
26478
      
26503
 
      // Table(s) of coefficients.
 
26479
      // Table(s) of coefficients
26504
26480
      static const double coefficients0[56] = \
26505
26481
      {0.078755617, -0.067921944, -0.0043571947, -0.003081002, 0.070594623, 0.032809416, 0.026788776, 0.01262835, 0.036088516, -0.0072909813, -0.029826742, 0.015124919, 0.013098564, 0.032543643, 0.022922679, 0.024852777, 0.024801587, 0.016922695, 0.0164745, 0.014279702, 0.0, -0.024577893, -0.021983136, -0.036351194, -0.0074316563, -0.034593517, -0.036202518, 0.0, -0.01308643, -0.033581508, -0.023223926, 0.0016617689, -0.0035978352, -0.0146881, -0.017864015, 0.0, 0.0, 0.0, 0.0, -0.022608373, 0.0045958054, 0.0, -0.033438235, -0.019420823, 0.0090822199, 0.0, -0.033301473, -0.027077948, -0.0070350573, 0.010211734, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
26506
26482
      
26916
26892
    case 35:
26917
26893
      {
26918
26894
        
26919
 
      // Array of basisvalues.
 
26895
      // Array of basisvalues
26920
26896
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
26921
26897
      
26922
 
      // Declare helper variables.
 
26898
      // Declare helper variables
26923
26899
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
26924
26900
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
26925
26901
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
26926
26902
      double tmp3 = 0.5*(1.0 - Z);
26927
26903
      double tmp4 = tmp3*tmp3;
26928
26904
      
26929
 
      // Compute basisvalues.
 
26905
      // Compute basisvalues
26930
26906
      basisvalues[0] = 1.0;
26931
26907
      basisvalues[1] = tmp0;
26932
26908
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
27040
27016
      basisvalues[36] *= std::sqrt(175.5);
27041
27017
      basisvalues[35] *= std::sqrt(214.5);
27042
27018
      
27043
 
      // Table(s) of coefficients.
 
27019
      // Table(s) of coefficients
27044
27020
      static const double coefficients0[56] = \
27045
27021
      {-0.021478805, -0.0037734413, 0.0021785974, -0.021567014, 0.0, -0.098428248, 0.031253572, -0.085241363, -0.018044258, 0.030986671, 0.0, 0.045374756, -0.011643168, 0.0, -0.023674242, 0.0013807099, -0.020292208, -0.033519953, -0.00079715321, 0.0039457071, 0.0, 0.0, 0.0, 0.036351194, 0.024152883, -0.0072405036, 0.06033753, 0.0, 0.03925929, -0.018825997, 0.046447852, -0.010801498, 0.025904413, 0.010869194, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.033438235, -0.015536658, 0.0030274066, 0.0, 0.055502455, 0.0, -0.016415134, 0.0068078225, 0.0, 0.04272581, 0.0069482047, -0.010831179, -0.0039304981, 0.0060796791};
27046
27022
      
27456
27432
    case 36:
27457
27433
      {
27458
27434
        
27459
 
      // Array of basisvalues.
 
27435
      // Array of basisvalues
27460
27436
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
27461
27437
      
27462
 
      // Declare helper variables.
 
27438
      // Declare helper variables
27463
27439
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
27464
27440
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
27465
27441
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
27466
27442
      double tmp3 = 0.5*(1.0 - Z);
27467
27443
      double tmp4 = tmp3*tmp3;
27468
27444
      
27469
 
      // Compute basisvalues.
 
27445
      // Compute basisvalues
27470
27446
      basisvalues[0] = 1.0;
27471
27447
      basisvalues[1] = tmp0;
27472
27448
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
27580
27556
      basisvalues[36] *= std::sqrt(175.5);
27581
27557
      basisvalues[35] *= std::sqrt(214.5);
27582
27558
      
27583
 
      // Table(s) of coefficients.
 
27559
      // Table(s) of coefficients
27584
27560
      static const double coefficients0[56] = \
27585
27561
      {0.078755617, -0.030187531, 0.061000726, -0.003081002, 0.0, -0.021872944, -0.017859184, 0.075770101, -0.041244019, -0.0072909813, 0.0, 0.0, 0.0, -0.052069829, 0.012776575, -0.0018409465, -0.009018759, 0.028638406, -0.029760386, 0.014279702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.04022502, -0.014391341, 0.013709593, -0.0040704858, -0.046447852, 0.018279458, -0.034539217, 0.036426489, -0.017864015, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.037001637, 0.030086609, -0.014070115, 0.0034039112, 0.0, -0.04272581, 0.024318717, 0.0, -0.0098262453, 0.0060796791};
27586
27562
      
27996
27972
    case 37:
27997
27973
      {
27998
27974
        
27999
 
      // Array of basisvalues.
 
27975
      // Array of basisvalues
28000
27976
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
28001
27977
      
28002
 
      // Declare helper variables.
 
27978
      // Declare helper variables
28003
27979
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
28004
27980
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
28005
27981
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
28006
27982
      double tmp3 = 0.5*(1.0 - Z);
28007
27983
      double tmp4 = tmp3*tmp3;
28008
27984
      
28009
 
      // Compute basisvalues.
 
27985
      // Compute basisvalues
28010
27986
      basisvalues[0] = 1.0;
28011
27987
      basisvalues[1] = tmp0;
28012
27988
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
28120
28096
      basisvalues[36] *= std::sqrt(175.5);
28121
28097
      basisvalues[35] *= std::sqrt(214.5);
28122
28098
      
28123
 
      // Table(s) of coefficients.
 
28099
      // Table(s) of coefficients
28124
28100
      static const double coefficients0[56] = \
28125
28101
      {-0.021478805, -0.0037734413, -0.019607376, 0.0092430059, 0.0, 0.010936472, -0.10269031, 0.0094712626, -0.069599282, -0.060150596, 0.0, -0.0050416396, 0.046572671, -0.0065087287, -0.021419553, 0.0078240225, -0.0045093795, -0.028963843, -0.026306056, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.033442453, 0.028962014, 0.0, 0.043174022, 0.0024926533, 0.060548476, 0.0, 0.02991184, -0.0043174022, 0.018507007, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.034957481, -0.012109627, 0.0, 0.0, 0.045129913, 0.028140229, -0.023827379, 0.0, 0.0, 0.031266921, 0.027077948, 0.0, -0.018239037};
28126
28102
      
28536
28512
    case 38:
28537
28513
      {
28538
28514
        
28539
 
      // Array of basisvalues.
 
28515
      // Array of basisvalues
28540
28516
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
28541
28517
      
28542
 
      // Declare helper variables.
 
28518
      // Declare helper variables
28543
28519
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
28544
28520
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
28545
28521
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
28546
28522
      double tmp3 = 0.5*(1.0 - Z);
28547
28523
      double tmp4 = tmp3*tmp3;
28548
28524
      
28549
 
      // Compute basisvalues.
 
28525
      // Compute basisvalues
28550
28526
      basisvalues[0] = 1.0;
28551
28527
      basisvalues[1] = tmp0;
28552
28528
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
28660
28636
      basisvalues[36] *= std::sqrt(175.5);
28661
28637
      basisvalues[35] *= std::sqrt(214.5);
28662
28638
      
28663
 
      // Table(s) of coefficients.
 
28639
      // Table(s) of coefficients
28664
28640
      static const double coefficients0[56] = \
28665
28641
      {-0.021478805, 0.015093765, 0.013071584, 0.0092430059, 0.0, 0.010936472, 0.008929592, 0.0094712626, 0.12373206, -0.060150596, 0.0, 0.0, 0.0, 0.0065087287, -0.057494589, 0.026693724, 0.0067640693, 0.012692021, 0.0063772257, 0.00056367244, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.043174022, -0.019941226, 0.0142467, 0.0, -0.04486776, 0.021587011, -0.061690022, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.045129913, 0.037520305, -0.011913689, 0.0, 0.0, -0.046900382, 0.016246769, 0.020635115, -0.018239037};
28666
28642
      
29076
29052
    case 39:
29077
29053
      {
29078
29054
        
29079
 
      // Array of basisvalues.
 
29055
      // Array of basisvalues
29080
29056
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
29081
29057
      
29082
 
      // Declare helper variables.
 
29058
      // Declare helper variables
29083
29059
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
29084
29060
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
29085
29061
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
29086
29062
      double tmp3 = 0.5*(1.0 - Z);
29087
29063
      double tmp4 = tmp3*tmp3;
29088
29064
      
29089
 
      // Compute basisvalues.
 
29065
      // Compute basisvalues
29090
29066
      basisvalues[0] = 1.0;
29091
29067
      basisvalues[1] = tmp0;
29092
29068
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
29200
29176
      basisvalues[36] *= std::sqrt(175.5);
29201
29177
      basisvalues[35] *= std::sqrt(214.5);
29202
29178
      
29203
 
      // Table(s) of coefficients.
 
29179
      // Table(s) of coefficients
29204
29180
      static const double coefficients0[56] = \
29205
29181
      {0.078755617, -0.030187531, 0.017428779, 0.058539037, 0.0, -0.021872944, -0.017859184, -0.018942525, 0.010311005, 0.083846285, 0.0, 0.0, 0.0, 0.0, -0.0052609428, -0.053387448, 0.0, -0.0045561101, 0.030823257, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.034897146, -0.028493401, 0.0, 0.0, -0.030221815, 0.016450673, -0.064393544, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.04377369, 0.023827379, 0.0, 0.0, 0.0, -0.037909127, -0.013756743, 0.030398396};
29206
29182
      
29616
29592
    case 40:
29617
29593
      {
29618
29594
        
29619
 
      // Array of basisvalues.
 
29595
      // Array of basisvalues
29620
29596
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
29621
29597
      
29622
 
      // Declare helper variables.
 
29598
      // Declare helper variables
29623
29599
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
29624
29600
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
29625
29601
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
29626
29602
      double tmp3 = 0.5*(1.0 - Z);
29627
29603
      double tmp4 = tmp3*tmp3;
29628
29604
      
29629
 
      // Compute basisvalues.
 
29605
      // Compute basisvalues
29630
29606
      basisvalues[0] = 1.0;
29631
29607
      basisvalues[1] = tmp0;
29632
29608
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
29740
29716
      basisvalues[36] *= std::sqrt(175.5);
29741
29717
      basisvalues[35] *= std::sqrt(214.5);
29742
29718
      
29743
 
      // Table(s) of coefficients.
 
29719
      // Table(s) of coefficients
29744
29720
      static const double coefficients0[56] = \
29745
29721
      {0.078755617, -0.037734413, -0.056643532, -0.003081002, 0.042356774, 0.05468236, 0.04464796, 0.03788505, 0.0051555024, -0.0072909813, 0.041757439, -0.0050416396, 0.029593052, -0.024733169, 0.010146104, 0.026693724, -0.020292208, 0.0021695762, 0.013285887, 0.014279702, -0.055737422, -0.024577893, -0.0021983136, -0.0051930277, -0.013005399, -0.016894508, 0.004022502, -0.015830475, -0.026796023, -0.029511022, 0.0046447852, -0.010801498, -0.01942831, -0.021738389, -0.017864015, 0.0, 0.0, -0.051270972, 0.0, -0.022608373, -0.036766443, 0.0, -0.0047768907, -0.007768329, -0.0090822199, 0.0, 0.0037001637, 0.0060173218, 0.0070350573, 0.0068078225, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
29746
29722
      
30156
30132
    case 41:
30157
30133
      {
30158
30134
        
30159
 
      // Array of basisvalues.
 
30135
      // Array of basisvalues
30160
30136
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
30161
30137
      
30162
 
      // Declare helper variables.
 
30138
      // Declare helper variables
30163
30139
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
30164
30140
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
30165
30141
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
30166
30142
      double tmp3 = 0.5*(1.0 - Z);
30167
30143
      double tmp4 = tmp3*tmp3;
30168
30144
      
30169
 
      // Compute basisvalues.
 
30145
      // Compute basisvalues
30170
30146
      basisvalues[0] = 1.0;
30171
30147
      basisvalues[1] = tmp0;
30172
30148
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
30280
30256
      basisvalues[36] *= std::sqrt(175.5);
30281
30257
      basisvalues[35] *= std::sqrt(214.5);
30282
30258
      
30283
 
      // Table(s) of coefficients.
 
30259
      // Table(s) of coefficients
30284
30260
      static const double coefficients0[56] = \
30285
30261
      {-0.021478805, 0.0, -0.0043571947, -0.021567014, -0.12707032, 0.0, 0.0, 0.028413788, 0.036088516, 0.030986671, 0.0, 0.045374756, -0.042206483, 0.0, 0.0, 0.0, -0.020292208, -0.0061832922, 0.0015943064, 0.0039457071, 0.083606134, 0.0, 0.0, -0.010386055, 0.024152883, 0.043443021, 0.0, 0.0, 0.0, 0.0, 0.0046447852, -0.010801498, -0.01942831, -0.021738389, -0.017864015, 0.0, 0.0, 0.076906457, 0.0, 0.0, 0.0, 0.0, -0.0095537815, -0.015536658, -0.01816444, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
30286
30262
      
30696
30672
    case 42:
30697
30673
      {
30698
30674
        
30699
 
      // Array of basisvalues.
 
30675
      // Array of basisvalues
30700
30676
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
30701
30677
      
30702
 
      // Declare helper variables.
 
30678
      // Declare helper variables
30703
30679
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
30704
30680
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
30705
30681
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
30706
30682
      double tmp3 = 0.5*(1.0 - Z);
30707
30683
      double tmp4 = tmp3*tmp3;
30708
30684
      
30709
 
      // Compute basisvalues.
 
30685
      // Compute basisvalues
30710
30686
      basisvalues[0] = 1.0;
30711
30687
      basisvalues[1] = tmp0;
30712
30688
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
30820
30796
      basisvalues[36] *= std::sqrt(175.5);
30821
30797
      basisvalues[35] *= std::sqrt(214.5);
30822
30798
      
30823
 
      // Table(s) of coefficients.
 
30799
      // Table(s) of coefficients
30824
30800
      static const double coefficients0[56] = \
30825
30801
      {0.078755617, 0.037734413, -0.056643532, -0.003081002, 0.042356774, -0.05468236, -0.04464796, 0.03788505, 0.0051555024, -0.0072909813, -0.041757439, -0.0050416396, 0.029593052, 0.024733169, -0.010146104, -0.026693724, -0.020292208, 0.0021695762, 0.013285887, 0.014279702, -0.055737422, 0.024577893, 0.0021983136, -0.0051930277, -0.013005399, -0.016894508, -0.004022502, 0.015830475, 0.026796023, 0.029511022, 0.0046447852, -0.010801498, -0.01942831, -0.021738389, -0.017864015, 0.0, 0.0, -0.051270972, 0.0, 0.022608373, 0.036766443, 0.0, -0.0047768907, -0.007768329, -0.0090822199, 0.0, -0.0037001637, -0.0060173218, -0.0070350573, -0.0068078225, 0.0, 0.004272581, 0.0069482047, 0.0081233844, 0.0078609963, 0.0060796791};
30826
30802
      
31236
31212
    case 43:
31237
31213
      {
31238
31214
        
31239
 
      // Array of basisvalues.
 
31215
      // Array of basisvalues
31240
31216
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
31241
31217
      
31242
 
      // Declare helper variables.
 
31218
      // Declare helper variables
31243
31219
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
31244
31220
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
31245
31221
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
31246
31222
      double tmp3 = 0.5*(1.0 - Z);
31247
31223
      double tmp4 = tmp3*tmp3;
31248
31224
      
31249
 
      // Compute basisvalues.
 
31225
      // Compute basisvalues
31250
31226
      basisvalues[0] = 1.0;
31251
31227
      basisvalues[1] = tmp0;
31252
31228
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
31360
31336
      basisvalues[36] *= std::sqrt(175.5);
31361
31337
      basisvalues[35] *= std::sqrt(214.5);
31362
31338
      
31363
 
      // Table(s) of coefficients.
 
31339
      // Table(s) of coefficients
31364
31340
      static const double coefficients0[56] = \
31365
31341
      {-0.021478805, -0.018867207, 0.0065357921, 0.0092430059, 0.014118925, 0.0, -0.1116199, -0.0031570875, -0.054132775, -0.060150596, -0.0089480226, -0.0025208198, -0.027652524, 0.00065087287, 0.036075036, -0.018869701, 0.0011273449, 0.03742519, 0.01992883, 0.00056367244, 0.0, 0.0, 0.059354467, 0.0, 0.016721227, 0.0032180016, 0.0, -0.0043174022, 0.02243388, 0.046301776, 0.0, -0.0074779599, 0.018708743, 0.043183015, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, 0.062043373, 0.0, 0.0, 0.01747874, 0.03632888, 0.0, 0.0, -0.0045129913, -0.0093800764, -0.011913689, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
31366
31342
      
31776
31752
    case 44:
31777
31753
      {
31778
31754
        
31779
 
      // Array of basisvalues.
 
31755
      // Array of basisvalues
31780
31756
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
31781
31757
      
31782
 
      // Declare helper variables.
 
31758
      // Declare helper variables
31783
31759
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
31784
31760
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
31785
31761
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
31786
31762
      double tmp3 = 0.5*(1.0 - Z);
31787
31763
      double tmp4 = tmp3*tmp3;
31788
31764
      
31789
 
      // Compute basisvalues.
 
31765
      // Compute basisvalues
31790
31766
      basisvalues[0] = 1.0;
31791
31767
      basisvalues[1] = tmp0;
31792
31768
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
31900
31876
      basisvalues[36] *= std::sqrt(175.5);
31901
31877
      basisvalues[35] *= std::sqrt(214.5);
31902
31878
      
31903
 
      // Table(s) of coefficients.
 
31879
      // Table(s) of coefficients
31904
31880
      static const double coefficients0[56] = \
31905
31881
      {-0.021478805, 0.018867207, 0.0065357921, 0.0092430059, 0.014118925, 0.0, 0.1116199, -0.0031570875, -0.054132775, -0.060150596, 0.0089480226, -0.0025208198, -0.027652524, -0.00065087287, -0.036075036, 0.018869701, 0.0011273449, 0.03742519, 0.01992883, 0.00056367244, 0.0, 0.0, -0.059354467, 0.0, 0.016721227, 0.0032180016, 0.0, 0.0043174022, -0.02243388, -0.046301776, 0.0, -0.0074779599, 0.018708743, 0.043183015, 0.046114086, 0.0, 0.0, 0.0, 0.0, 0.0, -0.062043373, 0.0, 0.0, 0.01747874, 0.03632888, 0.0, 0.0, 0.0045129913, 0.0093800764, 0.011913689, 0.0, 0.0, -0.0078167303, -0.016246769, -0.020635115, -0.018239037};
31906
31882
      
32316
32292
    case 45:
32317
32293
      {
32318
32294
        
32319
 
      // Array of basisvalues.
 
32295
      // Array of basisvalues
32320
32296
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
32321
32297
      
32322
 
      // Declare helper variables.
 
32298
      // Declare helper variables
32323
32299
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
32324
32300
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
32325
32301
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
32326
32302
      double tmp3 = 0.5*(1.0 - Z);
32327
32303
      double tmp4 = tmp3*tmp3;
32328
32304
      
32329
 
      // Compute basisvalues.
 
32305
      // Compute basisvalues
32330
32306
      basisvalues[0] = 1.0;
32331
32307
      basisvalues[1] = tmp0;
32332
32308
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
32440
32416
      basisvalues[36] *= std::sqrt(175.5);
32441
32417
      basisvalues[35] *= std::sqrt(214.5);
32442
32418
      
32443
 
      // Table(s) of coefficients.
 
32419
      // Table(s) of coefficients
32444
32420
      static const double coefficients0[56] = \
32445
32421
      {0.078755617, 0.0, -0.034857558, 0.058539037, -0.028237849, 0.0, 0.0, 0.0063141751, -0.020622009, 0.083846285, 0.0, 0.0, -0.0067918479, 0.0, 0.0, 0.0, 0.0, 0.0015187034, -0.061646515, -0.031941438, 0.0, 0.0, 0.0, 0.0, 0.0, -0.045052022, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.010073938, -0.032901345, -0.064393544, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.05651159, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.012636376, 0.027513487, 0.030398396};
32446
32422
      
32856
32832
    case 46:
32857
32833
      {
32858
32834
        
32859
 
      // Array of basisvalues.
 
32835
      // Array of basisvalues
32860
32836
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
32861
32837
      
32862
 
      // Declare helper variables.
 
32838
      // Declare helper variables
32863
32839
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
32864
32840
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
32865
32841
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
32866
32842
      double tmp3 = 0.5*(1.0 - Z);
32867
32843
      double tmp4 = tmp3*tmp3;
32868
32844
      
32869
 
      // Compute basisvalues.
 
32845
      // Compute basisvalues
32870
32846
      basisvalues[0] = 1.0;
32871
32847
      basisvalues[1] = tmp0;
32872
32848
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
32980
32956
      basisvalues[36] *= std::sqrt(175.5);
32981
32957
      basisvalues[35] *= std::sqrt(214.5);
32982
32958
      
32983
 
      // Table(s) of coefficients.
 
32959
      // Table(s) of coefficients
32984
32960
      static const double coefficients0[56] = \
32985
32961
      {0.078755617, -0.037734413, -0.021785974, -0.052377033, 0.042356774, 0.05468236, 0.04464796, 0.0, 0.025777512, 0.029163925, 0.041757439, 0.028569291, -0.0092175079, 0.02733666, -0.0078914141, -0.024852777, 0.018789081, -0.003471322, -0.014348758, -0.015031265, -0.055737422, -0.0049155786, -0.024181449, -0.019733505, -0.0092895704, -0.0024135012, -0.039420519, -0.015830475, -0.00062316333, 0.0071233502, -0.032513496, -0.014125035, -0.0021587011, 0.0041126681, 0.0054007488, 0.0, -0.051058669, 0.0046609974, -0.040526562, -0.014387147, 0.0036766443, -0.011417065, -0.0056454163, -0.0015536658, 0.0010091355, 0.010317558, 0.0057184347, 0.0024069287, 0.00026055768, -0.00085097781, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
32986
32962
      
33396
33372
    case 47:
33397
33373
      {
33398
33374
        
33399
 
      // Array of basisvalues.
 
33375
      // Array of basisvalues
33400
33376
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
33401
33377
      
33402
 
      // Declare helper variables.
 
33378
      // Declare helper variables
33403
33379
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
33404
33380
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
33405
33381
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
33406
33382
      double tmp3 = 0.5*(1.0 - Z);
33407
33383
      double tmp4 = tmp3*tmp3;
33408
33384
      
33409
 
      // Compute basisvalues.
 
33385
      // Compute basisvalues
33410
33386
      basisvalues[0] = 1.0;
33411
33387
      basisvalues[1] = tmp0;
33412
33388
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
33520
33496
      basisvalues[36] *= std::sqrt(175.5);
33521
33497
      basisvalues[35] *= std::sqrt(214.5);
33522
33498
      
33523
 
      // Table(s) of coefficients.
 
33499
      // Table(s) of coefficients
33524
33500
      static const double coefficients0[56] = \
33525
33501
      {-0.021478805, 0.0, -0.021785974, 0.003081002, -0.12707032, 0.0, 0.0, 0.047356313, 0.025777512, 0.012759217, 0.0, -0.035291477, 0.050938859, 0.0, 0.0, 0.0, 0.0022546898, -0.0094376566, -0.014348758, -0.012964466, 0.083606134, 0.0, 0.0, 0.047775855, 0.0092895704, -0.014481007, 0.0, 0.0, 0.0, 0.0, -0.032513496, -0.014125035, -0.0021587011, 0.0041126681, 0.0054007488, 0.0, 0.076588003, -0.0069914961, 0.0, 0.0, 0.0, -0.022834131, -0.011290833, -0.0031073316, 0.0020182711, 0.0, 0.0, 0.0, 0.0, 0.0, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
33526
33502
      
33936
33912
    case 48:
33937
33913
      {
33938
33914
        
33939
 
      // Array of basisvalues.
 
33915
      // Array of basisvalues
33940
33916
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
33941
33917
      
33942
 
      // Declare helper variables.
 
33918
      // Declare helper variables
33943
33919
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
33944
33920
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
33945
33921
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
33946
33922
      double tmp3 = 0.5*(1.0 - Z);
33947
33923
      double tmp4 = tmp3*tmp3;
33948
33924
      
33949
 
      // Compute basisvalues.
 
33925
      // Compute basisvalues
33950
33926
      basisvalues[0] = 1.0;
33951
33927
      basisvalues[1] = tmp0;
33952
33928
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
34060
34036
      basisvalues[36] *= std::sqrt(175.5);
34061
34037
      basisvalues[35] *= std::sqrt(214.5);
34062
34038
      
34063
 
      // Table(s) of coefficients.
 
34039
      // Table(s) of coefficients
34064
34040
      static const double coefficients0[56] = \
34065
34041
      {0.078755617, 0.037734413, -0.021785974, -0.052377033, 0.042356774, -0.05468236, -0.04464796, 0.0, 0.025777512, 0.029163925, -0.041757439, 0.028569291, -0.0092175079, -0.02733666, 0.0078914141, 0.024852777, 0.018789081, -0.003471322, -0.014348758, -0.015031265, -0.055737422, 0.0049155786, 0.024181449, -0.019733505, -0.0092895704, -0.0024135012, 0.039420519, 0.015830475, 0.00062316333, -0.0071233502, -0.032513496, -0.014125035, -0.0021587011, 0.0041126681, 0.0054007488, 0.0, -0.051058669, 0.0046609974, 0.040526562, 0.014387147, -0.0036766443, -0.011417065, -0.0056454163, -0.0015536658, 0.0010091355, -0.010317558, -0.0057184347, -0.0024069287, -0.00026055768, 0.00085097781, 0.012764667, 0.0073799126, 0.0034741024, 0.00090259827, -0.00049131227, -0.00086852559};
34066
34042
      
34476
34452
    case 49:
34477
34453
      {
34478
34454
        
34479
 
      // Array of basisvalues.
 
34455
      // Array of basisvalues
34480
34456
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
34481
34457
      
34482
 
      // Declare helper variables.
 
34458
      // Declare helper variables
34483
34459
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
34484
34460
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
34485
34461
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
34486
34462
      double tmp3 = 0.5*(1.0 - Z);
34487
34463
      double tmp4 = tmp3*tmp3;
34488
34464
      
34489
 
      // Compute basisvalues.
 
34465
      // Compute basisvalues
34490
34466
      basisvalues[0] = 1.0;
34491
34467
      basisvalues[1] = tmp0;
34492
34468
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
34600
34576
      basisvalues[36] *= std::sqrt(175.5);
34601
34577
      basisvalues[35] *= std::sqrt(214.5);
34602
34578
      
34603
 
      // Table(s) of coefficients.
 
34579
      // Table(s) of coefficients
34604
34580
      static const double coefficients0[56] = \
34605
34581
      {-0.021478805, -0.018867207, 0.010892987, 0.003081002, 0.014118925, -0.10936472, 0.02232398, -0.078927188, -0.012888756, 0.012759217, -0.0089480226, -0.027729018, 0.001455396, -0.0058578558, 0.038329726, -0.012426389, 0.019164863, 0.034821698, 0.0071743789, -0.012964466, 0.0, 0.058986943, -0.0065949408, 0.0072702388, 0.014863313, -0.004022502, 0.050683525, -0.0043174022, -0.0081011233, 0.0035616751, 0.065026993, -0.0016617689, -0.011513072, -0.0020563341, 0.0054007488, 0.0, 0.0, 0.0, 0.060789843, -0.01233184, 0.0013787416, 0.039959729, 0.0030398396, -0.004272581, 0.0010091355, -0.015476336, -0.0030274066, 0.00090259827, 0.00078167303, -0.0004254889, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
34606
34582
      
35016
34992
    case 50:
35017
34993
      {
35018
34994
        
35019
 
      // Array of basisvalues.
 
34995
      // Array of basisvalues
35020
34996
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
35021
34997
      
35022
 
      // Declare helper variables.
 
34998
      // Declare helper variables
35023
34999
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
35024
35000
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
35025
35001
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
35026
35002
      double tmp3 = 0.5*(1.0 - Z);
35027
35003
      double tmp4 = tmp3*tmp3;
35028
35004
      
35029
 
      // Compute basisvalues.
 
35005
      // Compute basisvalues
35030
35006
      basisvalues[0] = 1.0;
35031
35007
      basisvalues[1] = tmp0;
35032
35008
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
35140
35116
      basisvalues[36] *= std::sqrt(175.5);
35141
35117
      basisvalues[35] *= std::sqrt(214.5);
35142
35118
      
35143
 
      // Table(s) of coefficients.
 
35119
      // Table(s) of coefficients
35144
35120
      static const double coefficients0[56] = \
35145
35121
      {-0.021478805, 0.018867207, 0.010892987, 0.003081002, 0.014118925, 0.10936472, -0.02232398, -0.078927188, -0.012888756, 0.012759217, 0.0089480226, -0.027729018, 0.001455396, 0.0058578558, -0.038329726, 0.012426389, 0.019164863, 0.034821698, 0.0071743789, -0.012964466, 0.0, -0.058986943, 0.0065949408, 0.0072702388, 0.014863313, -0.004022502, -0.050683525, 0.0043174022, 0.0081011233, -0.0035616751, 0.065026993, -0.0016617689, -0.011513072, -0.0020563341, 0.0054007488, 0.0, 0.0, 0.0, -0.060789843, 0.01233184, -0.0013787416, 0.039959729, 0.0030398396, -0.004272581, 0.0010091355, 0.015476336, 0.0030274066, -0.00090259827, -0.00078167303, 0.0004254889, -0.031911668, -0.007768329, 0.00086852559, 0.0018051965, 0.00024565613, -0.00086852559};
35146
35122
      
35556
35532
    case 51:
35557
35533
      {
35558
35534
        
35559
 
      // Array of basisvalues.
 
35535
      // Array of basisvalues
35560
35536
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
35561
35537
      
35562
 
      // Declare helper variables.
 
35538
      // Declare helper variables
35563
35539
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
35564
35540
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
35565
35541
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
35566
35542
      double tmp3 = 0.5*(1.0 - Z);
35567
35543
      double tmp4 = tmp3*tmp3;
35568
35544
      
35569
 
      // Compute basisvalues.
 
35545
      // Compute basisvalues
35570
35546
      basisvalues[0] = 1.0;
35571
35547
      basisvalues[1] = tmp0;
35572
35548
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
35680
35656
      basisvalues[36] *= std::sqrt(175.5);
35681
35657
      basisvalues[35] *= std::sqrt(214.5);
35682
35658
      
35683
 
      // Table(s) of coefficients.
 
35659
      // Table(s) of coefficients
35684
35660
      static const double coefficients0[56] = \
35685
35661
      {0.078755617, 0.0, 0.043571947, -0.052377033, -0.028237849, 0.0, 0.0, 0.063141751, -0.051555024, 0.029163925, 0.0, -0.0067221861, 0.00097026399, 0.0, 0.0, 0.0, -0.06012506, -0.012583542, 0.028697515, -0.015031265, 0.0, 0.0, 0.0, -0.043621433, 0.011147484, -0.0016090008, 0.0, 0.0, 0.0, 0.0, -0.065026993, 0.031573609, -0.0028782681, -0.0082253363, 0.0054007488, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.053279638, 0.018239037, -0.0046609974, 0.00067275703, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04254889, -0.0038841645, -0.0034741024, 0.0012034644, 0.00098262453, -0.00086852559};
35686
35662
      
36096
36072
    case 52:
36097
36073
      {
36098
36074
        
36099
 
      // Array of basisvalues.
 
36075
      // Array of basisvalues
36100
36076
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
36101
36077
      
36102
 
      // Declare helper variables.
 
36078
      // Declare helper variables
36103
36079
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
36104
36080
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
36105
36081
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
36106
36082
      double tmp3 = 0.5*(1.0 - Z);
36107
36083
      double tmp4 = tmp3*tmp3;
36108
36084
      
36109
 
      // Compute basisvalues.
 
36085
      // Compute basisvalues
36110
36086
      basisvalues[0] = 1.0;
36111
36087
      basisvalues[1] = tmp0;
36112
36088
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
36220
36196
      basisvalues[36] *= std::sqrt(175.5);
36221
36197
      basisvalues[35] *= std::sqrt(214.5);
36222
36198
      
36223
 
      // Table(s) of coefficients.
 
36199
      // Table(s) of coefficients
36224
36200
      static const double coefficients0[56] = \
36225
36201
      {0.10739402, -0.18867207, -0.10892987, -0.077025049, -0.070594623, -0.05468236, -0.04464796, -0.031570875, -0.025777512, -0.018227453, 0.089480226, -0.015124919, -0.013098564, 0.058578558, -0.028183622, 0.069035493, 0.074404762, 0.009763093, 0.03985766, 0.059749278, 0.0, 0.073733679, 0.065949408, 0.036351194, 0.0074316563, 0.034593517, -0.012067506, 0.043174022, 0.015579083, -0.025440536, -0.023223926, 0.046529528, 0.025184846, -0.0146881, -0.032819935, 0.0, 0.0, 0.0, 0.0, 0.06782512, -0.013787416, 0.0, 0.033438235, 0.019420823, -0.0090822199, 0.0, -0.011100491, -0.0090259827, -0.0023450191, 0.0034039112, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
36226
36202
      
36636
36612
    case 53:
36637
36613
      {
36638
36614
        
36639
 
      // Array of basisvalues.
 
36615
      // Array of basisvalues
36640
36616
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
36641
36617
      
36642
 
      // Declare helper variables.
 
36618
      // Declare helper variables
36643
36619
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
36644
36620
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
36645
36621
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
36646
36622
      double tmp3 = 0.5*(1.0 - Z);
36647
36623
      double tmp4 = tmp3*tmp3;
36648
36624
      
36649
 
      // Compute basisvalues.
 
36625
      // Compute basisvalues
36650
36626
      basisvalues[0] = 1.0;
36651
36627
      basisvalues[1] = tmp0;
36652
36628
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
36760
36736
      basisvalues[36] *= std::sqrt(175.5);
36761
36737
      basisvalues[35] *= std::sqrt(214.5);
36762
36738
      
36763
 
      // Table(s) of coefficients.
 
36739
      // Table(s) of coefficients
36764
36740
      static const double coefficients0[56] = \
36765
36741
      {0.10739402, 0.18867207, -0.10892987, -0.077025049, -0.070594623, 0.05468236, 0.04464796, -0.031570875, -0.025777512, -0.018227453, -0.089480226, -0.015124919, -0.013098564, -0.058578558, 0.028183622, -0.069035493, 0.074404762, 0.009763093, 0.03985766, 0.059749278, 0.0, -0.073733679, -0.065949408, 0.036351194, 0.0074316563, 0.034593517, 0.012067506, -0.043174022, -0.015579083, 0.025440536, -0.023223926, 0.046529528, 0.025184846, -0.0146881, -0.032819935, 0.0, 0.0, 0.0, 0.0, -0.06782512, 0.013787416, 0.0, 0.033438235, 0.019420823, -0.0090822199, 0.0, 0.011100491, 0.0090259827, 0.0023450191, -0.0034039112, 0.0, -0.021362905, -0.019107563, -0.0081233844, 0.0019652491, 0.0060796791};
36766
36742
      
37176
37152
    case 54:
37177
37153
      {
37178
37154
        
37179
 
      // Array of basisvalues.
 
37155
      // Array of basisvalues
37180
37156
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
37181
37157
      
37182
 
      // Declare helper variables.
 
37158
      // Declare helper variables
37183
37159
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
37184
37160
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
37185
37161
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
37186
37162
      double tmp3 = 0.5*(1.0 - Z);
37187
37163
      double tmp4 = tmp3*tmp3;
37188
37164
      
37189
 
      // Compute basisvalues.
 
37165
      // Compute basisvalues
37190
37166
      basisvalues[0] = 1.0;
37191
37167
      basisvalues[1] = tmp0;
37192
37168
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
37300
37276
      basisvalues[36] *= std::sqrt(175.5);
37301
37277
      basisvalues[35] *= std::sqrt(214.5);
37302
37278
      
37303
 
      // Table(s) of coefficients.
 
37279
      // Table(s) of coefficients
37304
37280
      static const double coefficients0[56] = \
37305
37281
      {0.10739402, 0.0, 0.21785974, -0.077025049, 0.0, 0.0, 0.0, -0.094712626, 0.051555024, -0.018227453, 0.0, -0.090749512, 0.023286336, 0.0, 0.0, 0.0, -0.09469697, -0.02278055, -0.079715321, 0.059749278, 0.0, 0.0, 0.0, -0.072702388, -0.048305766, 0.014481007, 0.0, 0.0, 0.0, 0.0, 0.046447852, -0.078103137, 0.043174022, 0.029376201, -0.032819935, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.06687647, 0.031073316, -0.0060548133, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04272581, 0.0069482047, -0.010831179, -0.0039304981, 0.0060796791};
37306
37282
      
37716
37692
    case 55:
37717
37693
      {
37718
37694
        
37719
 
      // Array of basisvalues.
 
37695
      // Array of basisvalues
37720
37696
      double basisvalues[56] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
37721
37697
      
37722
 
      // Declare helper variables.
 
37698
      // Declare helper variables
37723
37699
      double tmp0 = 0.5*(2.0 + Y + Z + 2.0*X);
37724
37700
      double tmp1 = 0.25*(Y + Z)*(Y + Z);
37725
37701
      double tmp2 = 0.5*(1.0 + Z + 2.0*Y);
37726
37702
      double tmp3 = 0.5*(1.0 - Z);
37727
37703
      double tmp4 = tmp3*tmp3;
37728
37704
      
37729
 
      // Compute basisvalues.
 
37705
      // Compute basisvalues
37730
37706
      basisvalues[0] = 1.0;
37731
37707
      basisvalues[1] = tmp0;
37732
37708
      basisvalues[4] = 1.5*tmp0*basisvalues[1] - 0.5*tmp1*basisvalues[0];
37840
37816
      basisvalues[36] *= std::sqrt(175.5);
37841
37817
      basisvalues[35] *= std::sqrt(214.5);
37842
37818
      
37843
 
      // Table(s) of coefficients.
 
37819
      // Table(s) of coefficients
37844
37820
      static const double coefficients0[56] = \
37845
37821
      {0.10739402, 0.0, 0.0, 0.23107515, 0.0, 0.0, 0.0, 0.0, 0.0, -0.10936472, 0.0, 0.010083279, -0.093145343, 0.0, 0.0, 0.0, -0.0045093795, -0.10413966, 0.0, -0.09244228, 0.0, 0.0, 0.0, 0.0, -0.066884907, -0.057924029, 0.0, 0.0, 0.0, 0.0, 0.0, 0.02991184, -0.064761033, 0.0, 0.083503886, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.069914961, 0.024219253, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.031266921, 0.027077948, 0.0, -0.018239037};
37846
37822
      
38257
38233
    
38258
38234
  }
38259
38235
 
38260
 
  /// Evaluate order n derivatives of all basis functions at given point in cell
38261
 
  virtual void evaluate_basis_derivatives_all(unsigned int n,
 
38236
  /// Evaluate order n derivatives of all basis functions at given point x in cell
 
38237
  virtual void evaluate_basis_derivatives_all(std::size_t n,
38262
38238
                                              double* values,
38263
 
                                              const double* coordinates,
38264
 
                                              const ufc::cell& c) const
 
38239
                                              const double* x,
 
38240
                                              const double* vertex_coordinates,
 
38241
                                              int cell_orientation) const
38265
38242
  {
38266
38243
    // Compute number of derivatives.
38267
38244
    unsigned int num_derivatives = 1;
38280
38257
    // Loop dofs and call evaluate_basis_derivatives.
38281
38258
    for (unsigned int r = 0; r < 56; r++)
38282
38259
    {
38283
 
      evaluate_basis_derivatives(r, n, dof_values, coordinates, c);
 
38260
      evaluate_basis_derivatives(r, n, dof_values, x, vertex_coordinates, cell_orientation);
38284
38261
      for (unsigned int s = 0; s < num_derivatives; s++)
38285
38262
      {
38286
38263
        values[r*num_derivatives + s] = dof_values[s];
38292
38269
  }
38293
38270
 
38294
38271
  /// Evaluate linear functional for dof i on the function f
38295
 
  virtual double evaluate_dof(unsigned int i,
 
38272
  virtual double evaluate_dof(std::size_t i,
38296
38273
                              const ufc::function& f,
 
38274
                              const double* vertex_coordinates,
 
38275
                              int cell_orientation,
38297
38276
                              const ufc::cell& c) const
38298
38277
  {
38299
 
    // Declare variables for result of evaluation.
 
38278
    // Declare variables for result of evaluation
38300
38279
    double vals[1];
38301
38280
    
38302
 
    // Declare variable for physical coordinates.
 
38281
    // Declare variable for physical coordinates
38303
38282
    double y[3];
38304
 
    const double * const * x = c.coordinates;
38305
38283
    switch (i)
38306
38284
    {
38307
38285
    case 0:
38308
38286
      {
38309
 
        y[0] = x[0][0];
38310
 
      y[1] = x[0][1];
38311
 
      y[2] = x[0][2];
 
38287
        y[0] = vertex_coordinates[0];
 
38288
      y[1] = vertex_coordinates[1];
 
38289
      y[2] = vertex_coordinates[2];
38312
38290
      f.evaluate(vals, y, c);
38313
38291
      return vals[0];
38314
38292
        break;
38315
38293
      }
38316
38294
    case 1:
38317
38295
      {
38318
 
        y[0] = x[1][0];
38319
 
      y[1] = x[1][1];
38320
 
      y[2] = x[1][2];
 
38296
        y[0] = vertex_coordinates[3];
 
38297
      y[1] = vertex_coordinates[4];
 
38298
      y[2] = vertex_coordinates[5];
38321
38299
      f.evaluate(vals, y, c);
38322
38300
      return vals[0];
38323
38301
        break;
38324
38302
      }
38325
38303
    case 2:
38326
38304
      {
38327
 
        y[0] = x[2][0];
38328
 
      y[1] = x[2][1];
38329
 
      y[2] = x[2][2];
 
38305
        y[0] = vertex_coordinates[6];
 
38306
      y[1] = vertex_coordinates[7];
 
38307
      y[2] = vertex_coordinates[8];
38330
38308
      f.evaluate(vals, y, c);
38331
38309
      return vals[0];
38332
38310
        break;
38333
38311
      }
38334
38312
    case 3:
38335
38313
      {
38336
 
        y[0] = x[3][0];
38337
 
      y[1] = x[3][1];
38338
 
      y[2] = x[3][2];
 
38314
        y[0] = vertex_coordinates[9];
 
38315
      y[1] = vertex_coordinates[10];
 
38316
      y[2] = vertex_coordinates[11];
38339
38317
      f.evaluate(vals, y, c);
38340
38318
      return vals[0];
38341
38319
        break;
38342
38320
      }
38343
38321
    case 4:
38344
38322
      {
38345
 
        y[0] = 0.8*x[2][0] + 0.2*x[3][0];
38346
 
      y[1] = 0.8*x[2][1] + 0.2*x[3][1];
38347
 
      y[2] = 0.8*x[2][2] + 0.2*x[3][2];
 
38323
        y[0] = 0.8*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38324
      y[1] = 0.8*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38325
      y[2] = 0.8*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38348
38326
      f.evaluate(vals, y, c);
38349
38327
      return vals[0];
38350
38328
        break;
38351
38329
      }
38352
38330
    case 5:
38353
38331
      {
38354
 
        y[0] = 0.6*x[2][0] + 0.4*x[3][0];
38355
 
      y[1] = 0.6*x[2][1] + 0.4*x[3][1];
38356
 
      y[2] = 0.6*x[2][2] + 0.4*x[3][2];
 
38332
        y[0] = 0.6*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38333
      y[1] = 0.6*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38334
      y[2] = 0.6*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38357
38335
      f.evaluate(vals, y, c);
38358
38336
      return vals[0];
38359
38337
        break;
38360
38338
      }
38361
38339
    case 6:
38362
38340
      {
38363
 
        y[0] = 0.4*x[2][0] + 0.6*x[3][0];
38364
 
      y[1] = 0.4*x[2][1] + 0.6*x[3][1];
38365
 
      y[2] = 0.4*x[2][2] + 0.6*x[3][2];
 
38341
        y[0] = 0.4*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
38342
      y[1] = 0.4*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
38343
      y[2] = 0.4*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
38366
38344
      f.evaluate(vals, y, c);
38367
38345
      return vals[0];
38368
38346
        break;
38369
38347
      }
38370
38348
    case 7:
38371
38349
      {
38372
 
        y[0] = 0.2*x[2][0] + 0.8*x[3][0];
38373
 
      y[1] = 0.2*x[2][1] + 0.8*x[3][1];
38374
 
      y[2] = 0.2*x[2][2] + 0.8*x[3][2];
 
38350
        y[0] = 0.2*vertex_coordinates[6] + 0.8*vertex_coordinates[9];
 
38351
      y[1] = 0.2*vertex_coordinates[7] + 0.8*vertex_coordinates[10];
 
38352
      y[2] = 0.2*vertex_coordinates[8] + 0.8*vertex_coordinates[11];
38375
38353
      f.evaluate(vals, y, c);
38376
38354
      return vals[0];
38377
38355
        break;
38378
38356
      }
38379
38357
    case 8:
38380
38358
      {
38381
 
        y[0] = 0.8*x[1][0] + 0.2*x[3][0];
38382
 
      y[1] = 0.8*x[1][1] + 0.2*x[3][1];
38383
 
      y[2] = 0.8*x[1][2] + 0.2*x[3][2];
 
38359
        y[0] = 0.8*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
38360
      y[1] = 0.8*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
38361
      y[2] = 0.8*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
38384
38362
      f.evaluate(vals, y, c);
38385
38363
      return vals[0];
38386
38364
        break;
38387
38365
      }
38388
38366
    case 9:
38389
38367
      {
38390
 
        y[0] = 0.6*x[1][0] + 0.4*x[3][0];
38391
 
      y[1] = 0.6*x[1][1] + 0.4*x[3][1];
38392
 
      y[2] = 0.6*x[1][2] + 0.4*x[3][2];
 
38368
        y[0] = 0.6*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
38369
      y[1] = 0.6*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
38370
      y[2] = 0.6*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
38393
38371
      f.evaluate(vals, y, c);
38394
38372
      return vals[0];
38395
38373
        break;
38396
38374
      }
38397
38375
    case 10:
38398
38376
      {
38399
 
        y[0] = 0.4*x[1][0] + 0.6*x[3][0];
38400
 
      y[1] = 0.4*x[1][1] + 0.6*x[3][1];
38401
 
      y[2] = 0.4*x[1][2] + 0.6*x[3][2];
 
38377
        y[0] = 0.4*vertex_coordinates[3] + 0.6*vertex_coordinates[9];
 
38378
      y[1] = 0.4*vertex_coordinates[4] + 0.6*vertex_coordinates[10];
 
38379
      y[2] = 0.4*vertex_coordinates[5] + 0.6*vertex_coordinates[11];
38402
38380
      f.evaluate(vals, y, c);
38403
38381
      return vals[0];
38404
38382
        break;
38405
38383
      }
38406
38384
    case 11:
38407
38385
      {
38408
 
        y[0] = 0.2*x[1][0] + 0.8*x[3][0];
38409
 
      y[1] = 0.2*x[1][1] + 0.8*x[3][1];
38410
 
      y[2] = 0.2*x[1][2] + 0.8*x[3][2];
 
38386
        y[0] = 0.2*vertex_coordinates[3] + 0.8*vertex_coordinates[9];
 
38387
      y[1] = 0.2*vertex_coordinates[4] + 0.8*vertex_coordinates[10];
 
38388
      y[2] = 0.2*vertex_coordinates[5] + 0.8*vertex_coordinates[11];
38411
38389
      f.evaluate(vals, y, c);
38412
38390
      return vals[0];
38413
38391
        break;
38414
38392
      }
38415
38393
    case 12:
38416
38394
      {
38417
 
        y[0] = 0.8*x[1][0] + 0.2*x[2][0];
38418
 
      y[1] = 0.8*x[1][1] + 0.2*x[2][1];
38419
 
      y[2] = 0.8*x[1][2] + 0.2*x[2][2];
 
38395
        y[0] = 0.8*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
38396
      y[1] = 0.8*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
38397
      y[2] = 0.8*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
38420
38398
      f.evaluate(vals, y, c);
38421
38399
      return vals[0];
38422
38400
        break;
38423
38401
      }
38424
38402
    case 13:
38425
38403
      {
38426
 
        y[0] = 0.6*x[1][0] + 0.4*x[2][0];
38427
 
      y[1] = 0.6*x[1][1] + 0.4*x[2][1];
38428
 
      y[2] = 0.6*x[1][2] + 0.4*x[2][2];
 
38404
        y[0] = 0.6*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
38405
      y[1] = 0.6*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
38406
      y[2] = 0.6*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
38429
38407
      f.evaluate(vals, y, c);
38430
38408
      return vals[0];
38431
38409
        break;
38432
38410
      }
38433
38411
    case 14:
38434
38412
      {
38435
 
        y[0] = 0.4*x[1][0] + 0.6*x[2][0];
38436
 
      y[1] = 0.4*x[1][1] + 0.6*x[2][1];
38437
 
      y[2] = 0.4*x[1][2] + 0.6*x[2][2];
 
38413
        y[0] = 0.4*vertex_coordinates[3] + 0.6*vertex_coordinates[6];
 
38414
      y[1] = 0.4*vertex_coordinates[4] + 0.6*vertex_coordinates[7];
 
38415
      y[2] = 0.4*vertex_coordinates[5] + 0.6*vertex_coordinates[8];
38438
38416
      f.evaluate(vals, y, c);
38439
38417
      return vals[0];
38440
38418
        break;
38441
38419
      }
38442
38420
    case 15:
38443
38421
      {
38444
 
        y[0] = 0.2*x[1][0] + 0.8*x[2][0];
38445
 
      y[1] = 0.2*x[1][1] + 0.8*x[2][1];
38446
 
      y[2] = 0.2*x[1][2] + 0.8*x[2][2];
 
38422
        y[0] = 0.2*vertex_coordinates[3] + 0.8*vertex_coordinates[6];
 
38423
      y[1] = 0.2*vertex_coordinates[4] + 0.8*vertex_coordinates[7];
 
38424
      y[2] = 0.2*vertex_coordinates[5] + 0.8*vertex_coordinates[8];
38447
38425
      f.evaluate(vals, y, c);
38448
38426
      return vals[0];
38449
38427
        break;
38450
38428
      }
38451
38429
    case 16:
38452
38430
      {
38453
 
        y[0] = 0.8*x[0][0] + 0.2*x[3][0];
38454
 
      y[1] = 0.8*x[0][1] + 0.2*x[3][1];
38455
 
      y[2] = 0.8*x[0][2] + 0.2*x[3][2];
 
38431
        y[0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[9];
 
38432
      y[1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[10];
 
38433
      y[2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[11];
38456
38434
      f.evaluate(vals, y, c);
38457
38435
      return vals[0];
38458
38436
        break;
38459
38437
      }
38460
38438
    case 17:
38461
38439
      {
38462
 
        y[0] = 0.6*x[0][0] + 0.4*x[3][0];
38463
 
      y[1] = 0.6*x[0][1] + 0.4*x[3][1];
38464
 
      y[2] = 0.6*x[0][2] + 0.4*x[3][2];
 
38440
        y[0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[9];
 
38441
      y[1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[10];
 
38442
      y[2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[11];
38465
38443
      f.evaluate(vals, y, c);
38466
38444
      return vals[0];
38467
38445
        break;
38468
38446
      }
38469
38447
    case 18:
38470
38448
      {
38471
 
        y[0] = 0.4*x[0][0] + 0.6*x[3][0];
38472
 
      y[1] = 0.4*x[0][1] + 0.6*x[3][1];
38473
 
      y[2] = 0.4*x[0][2] + 0.6*x[3][2];
 
38449
        y[0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[9];
 
38450
      y[1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[10];
 
38451
      y[2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[11];
38474
38452
      f.evaluate(vals, y, c);
38475
38453
      return vals[0];
38476
38454
        break;
38477
38455
      }
38478
38456
    case 19:
38479
38457
      {
38480
 
        y[0] = 0.2*x[0][0] + 0.8*x[3][0];
38481
 
      y[1] = 0.2*x[0][1] + 0.8*x[3][1];
38482
 
      y[2] = 0.2*x[0][2] + 0.8*x[3][2];
 
38458
        y[0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[9];
 
38459
      y[1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[10];
 
38460
      y[2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[11];
38483
38461
      f.evaluate(vals, y, c);
38484
38462
      return vals[0];
38485
38463
        break;
38486
38464
      }
38487
38465
    case 20:
38488
38466
      {
38489
 
        y[0] = 0.8*x[0][0] + 0.2*x[2][0];
38490
 
      y[1] = 0.8*x[0][1] + 0.2*x[2][1];
38491
 
      y[2] = 0.8*x[0][2] + 0.2*x[2][2];
 
38467
        y[0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[6];
 
38468
      y[1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[7];
 
38469
      y[2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[8];
38492
38470
      f.evaluate(vals, y, c);
38493
38471
      return vals[0];
38494
38472
        break;
38495
38473
      }
38496
38474
    case 21:
38497
38475
      {
38498
 
        y[0] = 0.6*x[0][0] + 0.4*x[2][0];
38499
 
      y[1] = 0.6*x[0][1] + 0.4*x[2][1];
38500
 
      y[2] = 0.6*x[0][2] + 0.4*x[2][2];
 
38476
        y[0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[6];
 
38477
      y[1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[7];
 
38478
      y[2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[8];
38501
38479
      f.evaluate(vals, y, c);
38502
38480
      return vals[0];
38503
38481
        break;
38504
38482
      }
38505
38483
    case 22:
38506
38484
      {
38507
 
        y[0] = 0.4*x[0][0] + 0.6*x[2][0];
38508
 
      y[1] = 0.4*x[0][1] + 0.6*x[2][1];
38509
 
      y[2] = 0.4*x[0][2] + 0.6*x[2][2];
 
38485
        y[0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[6];
 
38486
      y[1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[7];
 
38487
      y[2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[8];
38510
38488
      f.evaluate(vals, y, c);
38511
38489
      return vals[0];
38512
38490
        break;
38513
38491
      }
38514
38492
    case 23:
38515
38493
      {
38516
 
        y[0] = 0.2*x[0][0] + 0.8*x[2][0];
38517
 
      y[1] = 0.2*x[0][1] + 0.8*x[2][1];
38518
 
      y[2] = 0.2*x[0][2] + 0.8*x[2][2];
 
38494
        y[0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[6];
 
38495
      y[1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[7];
 
38496
      y[2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[8];
38519
38497
      f.evaluate(vals, y, c);
38520
38498
      return vals[0];
38521
38499
        break;
38522
38500
      }
38523
38501
    case 24:
38524
38502
      {
38525
 
        y[0] = 0.8*x[0][0] + 0.2*x[1][0];
38526
 
      y[1] = 0.8*x[0][1] + 0.2*x[1][1];
38527
 
      y[2] = 0.8*x[0][2] + 0.2*x[1][2];
 
38503
        y[0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[3];
 
38504
      y[1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[4];
 
38505
      y[2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[5];
38528
38506
      f.evaluate(vals, y, c);
38529
38507
      return vals[0];
38530
38508
        break;
38531
38509
      }
38532
38510
    case 25:
38533
38511
      {
38534
 
        y[0] = 0.6*x[0][0] + 0.4*x[1][0];
38535
 
      y[1] = 0.6*x[0][1] + 0.4*x[1][1];
38536
 
      y[2] = 0.6*x[0][2] + 0.4*x[1][2];
 
38512
        y[0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[3];
 
38513
      y[1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[4];
 
38514
      y[2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[5];
38537
38515
      f.evaluate(vals, y, c);
38538
38516
      return vals[0];
38539
38517
        break;
38540
38518
      }
38541
38519
    case 26:
38542
38520
      {
38543
 
        y[0] = 0.4*x[0][0] + 0.6*x[1][0];
38544
 
      y[1] = 0.4*x[0][1] + 0.6*x[1][1];
38545
 
      y[2] = 0.4*x[0][2] + 0.6*x[1][2];
 
38521
        y[0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[3];
 
38522
      y[1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[4];
 
38523
      y[2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[5];
38546
38524
      f.evaluate(vals, y, c);
38547
38525
      return vals[0];
38548
38526
        break;
38549
38527
      }
38550
38528
    case 27:
38551
38529
      {
38552
 
        y[0] = 0.2*x[0][0] + 0.8*x[1][0];
38553
 
      y[1] = 0.2*x[0][1] + 0.8*x[1][1];
38554
 
      y[2] = 0.2*x[0][2] + 0.8*x[1][2];
 
38530
        y[0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[3];
 
38531
      y[1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[4];
 
38532
      y[2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[5];
38555
38533
      f.evaluate(vals, y, c);
38556
38534
      return vals[0];
38557
38535
        break;
38558
38536
      }
38559
38537
    case 28:
38560
38538
      {
38561
 
        y[0] = 0.6*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
38562
 
      y[1] = 0.6*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
38563
 
      y[2] = 0.6*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
38539
        y[0] = 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38540
      y[1] = 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38541
      y[2] = 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38564
38542
      f.evaluate(vals, y, c);
38565
38543
      return vals[0];
38566
38544
        break;
38567
38545
      }
38568
38546
    case 29:
38569
38547
      {
38570
 
        y[0] = 0.4*x[1][0] + 0.4*x[2][0] + 0.2*x[3][0];
38571
 
      y[1] = 0.4*x[1][1] + 0.4*x[2][1] + 0.2*x[3][1];
38572
 
      y[2] = 0.4*x[1][2] + 0.4*x[2][2] + 0.2*x[3][2];
 
38548
        y[0] = 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38549
      y[1] = 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38550
      y[2] = 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38573
38551
      f.evaluate(vals, y, c);
38574
38552
      return vals[0];
38575
38553
        break;
38576
38554
      }
38577
38555
    case 30:
38578
38556
      {
38579
 
        y[0] = 0.2*x[1][0] + 0.6*x[2][0] + 0.2*x[3][0];
38580
 
      y[1] = 0.2*x[1][1] + 0.6*x[2][1] + 0.2*x[3][1];
38581
 
      y[2] = 0.2*x[1][2] + 0.6*x[2][2] + 0.2*x[3][2];
 
38557
        y[0] = 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38558
      y[1] = 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38559
      y[2] = 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38582
38560
      f.evaluate(vals, y, c);
38583
38561
      return vals[0];
38584
38562
        break;
38585
38563
      }
38586
38564
    case 31:
38587
38565
      {
38588
 
        y[0] = 0.4*x[1][0] + 0.2*x[2][0] + 0.4*x[3][0];
38589
 
      y[1] = 0.4*x[1][1] + 0.2*x[2][1] + 0.4*x[3][1];
38590
 
      y[2] = 0.4*x[1][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
38566
        y[0] = 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38567
      y[1] = 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38568
      y[2] = 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38591
38569
      f.evaluate(vals, y, c);
38592
38570
      return vals[0];
38593
38571
        break;
38594
38572
      }
38595
38573
    case 32:
38596
38574
      {
38597
 
        y[0] = 0.2*x[1][0] + 0.4*x[2][0] + 0.4*x[3][0];
38598
 
      y[1] = 0.2*x[1][1] + 0.4*x[2][1] + 0.4*x[3][1];
38599
 
      y[2] = 0.2*x[1][2] + 0.4*x[2][2] + 0.4*x[3][2];
 
38575
        y[0] = 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38576
      y[1] = 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38577
      y[2] = 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38600
38578
      f.evaluate(vals, y, c);
38601
38579
      return vals[0];
38602
38580
        break;
38603
38581
      }
38604
38582
    case 33:
38605
38583
      {
38606
 
        y[0] = 0.2*x[1][0] + 0.2*x[2][0] + 0.6*x[3][0];
38607
 
      y[1] = 0.2*x[1][1] + 0.2*x[2][1] + 0.6*x[3][1];
38608
 
      y[2] = 0.2*x[1][2] + 0.2*x[2][2] + 0.6*x[3][2];
 
38584
        y[0] = 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
38585
      y[1] = 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
38586
      y[2] = 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
38609
38587
      f.evaluate(vals, y, c);
38610
38588
      return vals[0];
38611
38589
        break;
38612
38590
      }
38613
38591
    case 34:
38614
38592
      {
38615
 
        y[0] = 0.6*x[0][0] + 0.2*x[2][0] + 0.2*x[3][0];
38616
 
      y[1] = 0.6*x[0][1] + 0.2*x[2][1] + 0.2*x[3][1];
38617
 
      y[2] = 0.6*x[0][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
38593
        y[0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38594
      y[1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38595
      y[2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38618
38596
      f.evaluate(vals, y, c);
38619
38597
      return vals[0];
38620
38598
        break;
38621
38599
      }
38622
38600
    case 35:
38623
38601
      {
38624
 
        y[0] = 0.4*x[0][0] + 0.4*x[2][0] + 0.2*x[3][0];
38625
 
      y[1] = 0.4*x[0][1] + 0.4*x[2][1] + 0.2*x[3][1];
38626
 
      y[2] = 0.4*x[0][2] + 0.4*x[2][2] + 0.2*x[3][2];
 
38602
        y[0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38603
      y[1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38604
      y[2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38627
38605
      f.evaluate(vals, y, c);
38628
38606
      return vals[0];
38629
38607
        break;
38630
38608
      }
38631
38609
    case 36:
38632
38610
      {
38633
 
        y[0] = 0.2*x[0][0] + 0.6*x[2][0] + 0.2*x[3][0];
38634
 
      y[1] = 0.2*x[0][1] + 0.6*x[2][1] + 0.2*x[3][1];
38635
 
      y[2] = 0.2*x[0][2] + 0.6*x[2][2] + 0.2*x[3][2];
 
38611
        y[0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38612
      y[1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38613
      y[2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38636
38614
      f.evaluate(vals, y, c);
38637
38615
      return vals[0];
38638
38616
        break;
38639
38617
      }
38640
38618
    case 37:
38641
38619
      {
38642
 
        y[0] = 0.4*x[0][0] + 0.2*x[2][0] + 0.4*x[3][0];
38643
 
      y[1] = 0.4*x[0][1] + 0.2*x[2][1] + 0.4*x[3][1];
38644
 
      y[2] = 0.4*x[0][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
38620
        y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38621
      y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38622
      y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38645
38623
      f.evaluate(vals, y, c);
38646
38624
      return vals[0];
38647
38625
        break;
38648
38626
      }
38649
38627
    case 38:
38650
38628
      {
38651
 
        y[0] = 0.2*x[0][0] + 0.4*x[2][0] + 0.4*x[3][0];
38652
 
      y[1] = 0.2*x[0][1] + 0.4*x[2][1] + 0.4*x[3][1];
38653
 
      y[2] = 0.2*x[0][2] + 0.4*x[2][2] + 0.4*x[3][2];
 
38629
        y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38630
      y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38631
      y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38654
38632
      f.evaluate(vals, y, c);
38655
38633
      return vals[0];
38656
38634
        break;
38657
38635
      }
38658
38636
    case 39:
38659
38637
      {
38660
 
        y[0] = 0.2*x[0][0] + 0.2*x[2][0] + 0.6*x[3][0];
38661
 
      y[1] = 0.2*x[0][1] + 0.2*x[2][1] + 0.6*x[3][1];
38662
 
      y[2] = 0.2*x[0][2] + 0.2*x[2][2] + 0.6*x[3][2];
 
38638
        y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
38639
      y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
38640
      y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
38663
38641
      f.evaluate(vals, y, c);
38664
38642
      return vals[0];
38665
38643
        break;
38666
38644
      }
38667
38645
    case 40:
38668
38646
      {
38669
 
        y[0] = 0.6*x[0][0] + 0.2*x[1][0] + 0.2*x[3][0];
38670
 
      y[1] = 0.6*x[0][1] + 0.2*x[1][1] + 0.2*x[3][1];
38671
 
      y[2] = 0.6*x[0][2] + 0.2*x[1][2] + 0.2*x[3][2];
 
38647
        y[0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
38648
      y[1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
38649
      y[2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
38672
38650
      f.evaluate(vals, y, c);
38673
38651
      return vals[0];
38674
38652
        break;
38675
38653
      }
38676
38654
    case 41:
38677
38655
      {
38678
 
        y[0] = 0.4*x[0][0] + 0.4*x[1][0] + 0.2*x[3][0];
38679
 
      y[1] = 0.4*x[0][1] + 0.4*x[1][1] + 0.2*x[3][1];
38680
 
      y[2] = 0.4*x[0][2] + 0.4*x[1][2] + 0.2*x[3][2];
 
38656
        y[0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
38657
      y[1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
38658
      y[2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
38681
38659
      f.evaluate(vals, y, c);
38682
38660
      return vals[0];
38683
38661
        break;
38684
38662
      }
38685
38663
    case 42:
38686
38664
      {
38687
 
        y[0] = 0.2*x[0][0] + 0.6*x[1][0] + 0.2*x[3][0];
38688
 
      y[1] = 0.2*x[0][1] + 0.6*x[1][1] + 0.2*x[3][1];
38689
 
      y[2] = 0.2*x[0][2] + 0.6*x[1][2] + 0.2*x[3][2];
 
38665
        y[0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
38666
      y[1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
38667
      y[2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
38690
38668
      f.evaluate(vals, y, c);
38691
38669
      return vals[0];
38692
38670
        break;
38693
38671
      }
38694
38672
    case 43:
38695
38673
      {
38696
 
        y[0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.4*x[3][0];
38697
 
      y[1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.4*x[3][1];
38698
 
      y[2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.4*x[3][2];
 
38674
        y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
38675
      y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
38676
      y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
38699
38677
      f.evaluate(vals, y, c);
38700
38678
      return vals[0];
38701
38679
        break;
38702
38680
      }
38703
38681
    case 44:
38704
38682
      {
38705
 
        y[0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.4*x[3][0];
38706
 
      y[1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.4*x[3][1];
38707
 
      y[2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.4*x[3][2];
 
38683
        y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
38684
      y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
38685
      y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
38708
38686
      f.evaluate(vals, y, c);
38709
38687
      return vals[0];
38710
38688
        break;
38711
38689
      }
38712
38690
    case 45:
38713
38691
      {
38714
 
        y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.6*x[3][0];
38715
 
      y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.6*x[3][1];
38716
 
      y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.6*x[3][2];
 
38692
        y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[9];
 
38693
      y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[10];
 
38694
      y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[11];
38717
38695
      f.evaluate(vals, y, c);
38718
38696
      return vals[0];
38719
38697
        break;
38720
38698
      }
38721
38699
    case 46:
38722
38700
      {
38723
 
        y[0] = 0.6*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0];
38724
 
      y[1] = 0.6*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1];
38725
 
      y[2] = 0.6*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2];
 
38701
        y[0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
38702
      y[1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
38703
      y[2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
38726
38704
      f.evaluate(vals, y, c);
38727
38705
      return vals[0];
38728
38706
        break;
38729
38707
      }
38730
38708
    case 47:
38731
38709
      {
38732
 
        y[0] = 0.4*x[0][0] + 0.4*x[1][0] + 0.2*x[2][0];
38733
 
      y[1] = 0.4*x[0][1] + 0.4*x[1][1] + 0.2*x[2][1];
38734
 
      y[2] = 0.4*x[0][2] + 0.4*x[1][2] + 0.2*x[2][2];
 
38710
        y[0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
38711
      y[1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
38712
      y[2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
38735
38713
      f.evaluate(vals, y, c);
38736
38714
      return vals[0];
38737
38715
        break;
38738
38716
      }
38739
38717
    case 48:
38740
38718
      {
38741
 
        y[0] = 0.2*x[0][0] + 0.6*x[1][0] + 0.2*x[2][0];
38742
 
      y[1] = 0.2*x[0][1] + 0.6*x[1][1] + 0.2*x[2][1];
38743
 
      y[2] = 0.2*x[0][2] + 0.6*x[1][2] + 0.2*x[2][2];
 
38719
        y[0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
38720
      y[1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
38721
      y[2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
38744
38722
      f.evaluate(vals, y, c);
38745
38723
      return vals[0];
38746
38724
        break;
38747
38725
      }
38748
38726
    case 49:
38749
38727
      {
38750
 
        y[0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.4*x[2][0];
38751
 
      y[1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.4*x[2][1];
38752
 
      y[2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.4*x[2][2];
 
38728
        y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
38729
      y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
38730
      y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
38753
38731
      f.evaluate(vals, y, c);
38754
38732
      return vals[0];
38755
38733
        break;
38756
38734
      }
38757
38735
    case 50:
38758
38736
      {
38759
 
        y[0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.4*x[2][0];
38760
 
      y[1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.4*x[2][1];
38761
 
      y[2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.4*x[2][2];
 
38737
        y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
38738
      y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
38739
      y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
38762
38740
      f.evaluate(vals, y, c);
38763
38741
      return vals[0];
38764
38742
        break;
38765
38743
      }
38766
38744
    case 51:
38767
38745
      {
38768
 
        y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.6*x[2][0];
38769
 
      y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.6*x[2][1];
38770
 
      y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.6*x[2][2];
 
38746
        y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[6];
 
38747
      y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[7];
 
38748
      y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[8];
38771
38749
      f.evaluate(vals, y, c);
38772
38750
      return vals[0];
38773
38751
        break;
38774
38752
      }
38775
38753
    case 52:
38776
38754
      {
38777
 
        y[0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
38778
 
      y[1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
38779
 
      y[2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
38755
        y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38756
      y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38757
      y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38780
38758
      f.evaluate(vals, y, c);
38781
38759
      return vals[0];
38782
38760
        break;
38783
38761
      }
38784
38762
    case 53:
38785
38763
      {
38786
 
        y[0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
38787
 
      y[1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
38788
 
      y[2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
38764
        y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38765
      y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38766
      y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38789
38767
      f.evaluate(vals, y, c);
38790
38768
      return vals[0];
38791
38769
        break;
38792
38770
      }
38793
38771
    case 54:
38794
38772
      {
38795
 
        y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.4*x[2][0] + 0.2*x[3][0];
38796
 
      y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.4*x[2][1] + 0.2*x[3][1];
38797
 
      y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.4*x[2][2] + 0.2*x[3][2];
 
38773
        y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38774
      y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38775
      y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38798
38776
      f.evaluate(vals, y, c);
38799
38777
      return vals[0];
38800
38778
        break;
38801
38779
      }
38802
38780
    case 55:
38803
38781
      {
38804
 
        y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0] + 0.4*x[3][0];
38805
 
      y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1] + 0.4*x[3][1];
38806
 
      y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
38782
        y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38783
      y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38784
      y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38807
38785
      f.evaluate(vals, y, c);
38808
38786
      return vals[0];
38809
38787
        break;
38816
38794
  /// Evaluate linear functionals for all dofs on the function f
38817
38795
  virtual void evaluate_dofs(double* values,
38818
38796
                             const ufc::function& f,
 
38797
                             const double* vertex_coordinates,
 
38798
                             int cell_orientation,
38819
38799
                             const ufc::cell& c) const
38820
38800
  {
38821
 
    // Declare variables for result of evaluation.
 
38801
    // Declare variables for result of evaluation
38822
38802
    double vals[1];
38823
38803
    
38824
 
    // Declare variable for physical coordinates.
 
38804
    // Declare variable for physical coordinates
38825
38805
    double y[3];
38826
 
    const double * const * x = c.coordinates;
38827
 
    y[0] = x[0][0];
38828
 
    y[1] = x[0][1];
38829
 
    y[2] = x[0][2];
 
38806
    y[0] = vertex_coordinates[0];
 
38807
    y[1] = vertex_coordinates[1];
 
38808
    y[2] = vertex_coordinates[2];
38830
38809
    f.evaluate(vals, y, c);
38831
38810
    values[0] = vals[0];
38832
 
    y[0] = x[1][0];
38833
 
    y[1] = x[1][1];
38834
 
    y[2] = x[1][2];
 
38811
    y[0] = vertex_coordinates[3];
 
38812
    y[1] = vertex_coordinates[4];
 
38813
    y[2] = vertex_coordinates[5];
38835
38814
    f.evaluate(vals, y, c);
38836
38815
    values[1] = vals[0];
38837
 
    y[0] = x[2][0];
38838
 
    y[1] = x[2][1];
38839
 
    y[2] = x[2][2];
 
38816
    y[0] = vertex_coordinates[6];
 
38817
    y[1] = vertex_coordinates[7];
 
38818
    y[2] = vertex_coordinates[8];
38840
38819
    f.evaluate(vals, y, c);
38841
38820
    values[2] = vals[0];
38842
 
    y[0] = x[3][0];
38843
 
    y[1] = x[3][1];
38844
 
    y[2] = x[3][2];
 
38821
    y[0] = vertex_coordinates[9];
 
38822
    y[1] = vertex_coordinates[10];
 
38823
    y[2] = vertex_coordinates[11];
38845
38824
    f.evaluate(vals, y, c);
38846
38825
    values[3] = vals[0];
38847
 
    y[0] = 0.8*x[2][0] + 0.2*x[3][0];
38848
 
    y[1] = 0.8*x[2][1] + 0.2*x[3][1];
38849
 
    y[2] = 0.8*x[2][2] + 0.2*x[3][2];
 
38826
    y[0] = 0.8*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38827
    y[1] = 0.8*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38828
    y[2] = 0.8*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38850
38829
    f.evaluate(vals, y, c);
38851
38830
    values[4] = vals[0];
38852
 
    y[0] = 0.6*x[2][0] + 0.4*x[3][0];
38853
 
    y[1] = 0.6*x[2][1] + 0.4*x[3][1];
38854
 
    y[2] = 0.6*x[2][2] + 0.4*x[3][2];
 
38831
    y[0] = 0.6*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38832
    y[1] = 0.6*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38833
    y[2] = 0.6*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38855
38834
    f.evaluate(vals, y, c);
38856
38835
    values[5] = vals[0];
38857
 
    y[0] = 0.4*x[2][0] + 0.6*x[3][0];
38858
 
    y[1] = 0.4*x[2][1] + 0.6*x[3][1];
38859
 
    y[2] = 0.4*x[2][2] + 0.6*x[3][2];
 
38836
    y[0] = 0.4*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
38837
    y[1] = 0.4*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
38838
    y[2] = 0.4*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
38860
38839
    f.evaluate(vals, y, c);
38861
38840
    values[6] = vals[0];
38862
 
    y[0] = 0.2*x[2][0] + 0.8*x[3][0];
38863
 
    y[1] = 0.2*x[2][1] + 0.8*x[3][1];
38864
 
    y[2] = 0.2*x[2][2] + 0.8*x[3][2];
 
38841
    y[0] = 0.2*vertex_coordinates[6] + 0.8*vertex_coordinates[9];
 
38842
    y[1] = 0.2*vertex_coordinates[7] + 0.8*vertex_coordinates[10];
 
38843
    y[2] = 0.2*vertex_coordinates[8] + 0.8*vertex_coordinates[11];
38865
38844
    f.evaluate(vals, y, c);
38866
38845
    values[7] = vals[0];
38867
 
    y[0] = 0.8*x[1][0] + 0.2*x[3][0];
38868
 
    y[1] = 0.8*x[1][1] + 0.2*x[3][1];
38869
 
    y[2] = 0.8*x[1][2] + 0.2*x[3][2];
 
38846
    y[0] = 0.8*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
38847
    y[1] = 0.8*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
38848
    y[2] = 0.8*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
38870
38849
    f.evaluate(vals, y, c);
38871
38850
    values[8] = vals[0];
38872
 
    y[0] = 0.6*x[1][0] + 0.4*x[3][0];
38873
 
    y[1] = 0.6*x[1][1] + 0.4*x[3][1];
38874
 
    y[2] = 0.6*x[1][2] + 0.4*x[3][2];
 
38851
    y[0] = 0.6*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
38852
    y[1] = 0.6*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
38853
    y[2] = 0.6*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
38875
38854
    f.evaluate(vals, y, c);
38876
38855
    values[9] = vals[0];
38877
 
    y[0] = 0.4*x[1][0] + 0.6*x[3][0];
38878
 
    y[1] = 0.4*x[1][1] + 0.6*x[3][1];
38879
 
    y[2] = 0.4*x[1][2] + 0.6*x[3][2];
 
38856
    y[0] = 0.4*vertex_coordinates[3] + 0.6*vertex_coordinates[9];
 
38857
    y[1] = 0.4*vertex_coordinates[4] + 0.6*vertex_coordinates[10];
 
38858
    y[2] = 0.4*vertex_coordinates[5] + 0.6*vertex_coordinates[11];
38880
38859
    f.evaluate(vals, y, c);
38881
38860
    values[10] = vals[0];
38882
 
    y[0] = 0.2*x[1][0] + 0.8*x[3][0];
38883
 
    y[1] = 0.2*x[1][1] + 0.8*x[3][1];
38884
 
    y[2] = 0.2*x[1][2] + 0.8*x[3][2];
 
38861
    y[0] = 0.2*vertex_coordinates[3] + 0.8*vertex_coordinates[9];
 
38862
    y[1] = 0.2*vertex_coordinates[4] + 0.8*vertex_coordinates[10];
 
38863
    y[2] = 0.2*vertex_coordinates[5] + 0.8*vertex_coordinates[11];
38885
38864
    f.evaluate(vals, y, c);
38886
38865
    values[11] = vals[0];
38887
 
    y[0] = 0.8*x[1][0] + 0.2*x[2][0];
38888
 
    y[1] = 0.8*x[1][1] + 0.2*x[2][1];
38889
 
    y[2] = 0.8*x[1][2] + 0.2*x[2][2];
 
38866
    y[0] = 0.8*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
38867
    y[1] = 0.8*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
38868
    y[2] = 0.8*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
38890
38869
    f.evaluate(vals, y, c);
38891
38870
    values[12] = vals[0];
38892
 
    y[0] = 0.6*x[1][0] + 0.4*x[2][0];
38893
 
    y[1] = 0.6*x[1][1] + 0.4*x[2][1];
38894
 
    y[2] = 0.6*x[1][2] + 0.4*x[2][2];
 
38871
    y[0] = 0.6*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
38872
    y[1] = 0.6*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
38873
    y[2] = 0.6*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
38895
38874
    f.evaluate(vals, y, c);
38896
38875
    values[13] = vals[0];
38897
 
    y[0] = 0.4*x[1][0] + 0.6*x[2][0];
38898
 
    y[1] = 0.4*x[1][1] + 0.6*x[2][1];
38899
 
    y[2] = 0.4*x[1][2] + 0.6*x[2][2];
 
38876
    y[0] = 0.4*vertex_coordinates[3] + 0.6*vertex_coordinates[6];
 
38877
    y[1] = 0.4*vertex_coordinates[4] + 0.6*vertex_coordinates[7];
 
38878
    y[2] = 0.4*vertex_coordinates[5] + 0.6*vertex_coordinates[8];
38900
38879
    f.evaluate(vals, y, c);
38901
38880
    values[14] = vals[0];
38902
 
    y[0] = 0.2*x[1][0] + 0.8*x[2][0];
38903
 
    y[1] = 0.2*x[1][1] + 0.8*x[2][1];
38904
 
    y[2] = 0.2*x[1][2] + 0.8*x[2][2];
 
38881
    y[0] = 0.2*vertex_coordinates[3] + 0.8*vertex_coordinates[6];
 
38882
    y[1] = 0.2*vertex_coordinates[4] + 0.8*vertex_coordinates[7];
 
38883
    y[2] = 0.2*vertex_coordinates[5] + 0.8*vertex_coordinates[8];
38905
38884
    f.evaluate(vals, y, c);
38906
38885
    values[15] = vals[0];
38907
 
    y[0] = 0.8*x[0][0] + 0.2*x[3][0];
38908
 
    y[1] = 0.8*x[0][1] + 0.2*x[3][1];
38909
 
    y[2] = 0.8*x[0][2] + 0.2*x[3][2];
 
38886
    y[0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[9];
 
38887
    y[1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[10];
 
38888
    y[2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[11];
38910
38889
    f.evaluate(vals, y, c);
38911
38890
    values[16] = vals[0];
38912
 
    y[0] = 0.6*x[0][0] + 0.4*x[3][0];
38913
 
    y[1] = 0.6*x[0][1] + 0.4*x[3][1];
38914
 
    y[2] = 0.6*x[0][2] + 0.4*x[3][2];
 
38891
    y[0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[9];
 
38892
    y[1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[10];
 
38893
    y[2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[11];
38915
38894
    f.evaluate(vals, y, c);
38916
38895
    values[17] = vals[0];
38917
 
    y[0] = 0.4*x[0][0] + 0.6*x[3][0];
38918
 
    y[1] = 0.4*x[0][1] + 0.6*x[3][1];
38919
 
    y[2] = 0.4*x[0][2] + 0.6*x[3][2];
 
38896
    y[0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[9];
 
38897
    y[1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[10];
 
38898
    y[2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[11];
38920
38899
    f.evaluate(vals, y, c);
38921
38900
    values[18] = vals[0];
38922
 
    y[0] = 0.2*x[0][0] + 0.8*x[3][0];
38923
 
    y[1] = 0.2*x[0][1] + 0.8*x[3][1];
38924
 
    y[2] = 0.2*x[0][2] + 0.8*x[3][2];
 
38901
    y[0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[9];
 
38902
    y[1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[10];
 
38903
    y[2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[11];
38925
38904
    f.evaluate(vals, y, c);
38926
38905
    values[19] = vals[0];
38927
 
    y[0] = 0.8*x[0][0] + 0.2*x[2][0];
38928
 
    y[1] = 0.8*x[0][1] + 0.2*x[2][1];
38929
 
    y[2] = 0.8*x[0][2] + 0.2*x[2][2];
 
38906
    y[0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[6];
 
38907
    y[1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[7];
 
38908
    y[2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[8];
38930
38909
    f.evaluate(vals, y, c);
38931
38910
    values[20] = vals[0];
38932
 
    y[0] = 0.6*x[0][0] + 0.4*x[2][0];
38933
 
    y[1] = 0.6*x[0][1] + 0.4*x[2][1];
38934
 
    y[2] = 0.6*x[0][2] + 0.4*x[2][2];
 
38911
    y[0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[6];
 
38912
    y[1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[7];
 
38913
    y[2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[8];
38935
38914
    f.evaluate(vals, y, c);
38936
38915
    values[21] = vals[0];
38937
 
    y[0] = 0.4*x[0][0] + 0.6*x[2][0];
38938
 
    y[1] = 0.4*x[0][1] + 0.6*x[2][1];
38939
 
    y[2] = 0.4*x[0][2] + 0.6*x[2][2];
 
38916
    y[0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[6];
 
38917
    y[1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[7];
 
38918
    y[2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[8];
38940
38919
    f.evaluate(vals, y, c);
38941
38920
    values[22] = vals[0];
38942
 
    y[0] = 0.2*x[0][0] + 0.8*x[2][0];
38943
 
    y[1] = 0.2*x[0][1] + 0.8*x[2][1];
38944
 
    y[2] = 0.2*x[0][2] + 0.8*x[2][2];
 
38921
    y[0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[6];
 
38922
    y[1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[7];
 
38923
    y[2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[8];
38945
38924
    f.evaluate(vals, y, c);
38946
38925
    values[23] = vals[0];
38947
 
    y[0] = 0.8*x[0][0] + 0.2*x[1][0];
38948
 
    y[1] = 0.8*x[0][1] + 0.2*x[1][1];
38949
 
    y[2] = 0.8*x[0][2] + 0.2*x[1][2];
 
38926
    y[0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[3];
 
38927
    y[1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[4];
 
38928
    y[2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[5];
38950
38929
    f.evaluate(vals, y, c);
38951
38930
    values[24] = vals[0];
38952
 
    y[0] = 0.6*x[0][0] + 0.4*x[1][0];
38953
 
    y[1] = 0.6*x[0][1] + 0.4*x[1][1];
38954
 
    y[2] = 0.6*x[0][2] + 0.4*x[1][2];
 
38931
    y[0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[3];
 
38932
    y[1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[4];
 
38933
    y[2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[5];
38955
38934
    f.evaluate(vals, y, c);
38956
38935
    values[25] = vals[0];
38957
 
    y[0] = 0.4*x[0][0] + 0.6*x[1][0];
38958
 
    y[1] = 0.4*x[0][1] + 0.6*x[1][1];
38959
 
    y[2] = 0.4*x[0][2] + 0.6*x[1][2];
 
38936
    y[0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[3];
 
38937
    y[1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[4];
 
38938
    y[2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[5];
38960
38939
    f.evaluate(vals, y, c);
38961
38940
    values[26] = vals[0];
38962
 
    y[0] = 0.2*x[0][0] + 0.8*x[1][0];
38963
 
    y[1] = 0.2*x[0][1] + 0.8*x[1][1];
38964
 
    y[2] = 0.2*x[0][2] + 0.8*x[1][2];
 
38941
    y[0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[3];
 
38942
    y[1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[4];
 
38943
    y[2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[5];
38965
38944
    f.evaluate(vals, y, c);
38966
38945
    values[27] = vals[0];
38967
 
    y[0] = 0.6*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
38968
 
    y[1] = 0.6*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
38969
 
    y[2] = 0.6*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
38946
    y[0] = 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38947
    y[1] = 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38948
    y[2] = 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38970
38949
    f.evaluate(vals, y, c);
38971
38950
    values[28] = vals[0];
38972
 
    y[0] = 0.4*x[1][0] + 0.4*x[2][0] + 0.2*x[3][0];
38973
 
    y[1] = 0.4*x[1][1] + 0.4*x[2][1] + 0.2*x[3][1];
38974
 
    y[2] = 0.4*x[1][2] + 0.4*x[2][2] + 0.2*x[3][2];
 
38951
    y[0] = 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38952
    y[1] = 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38953
    y[2] = 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38975
38954
    f.evaluate(vals, y, c);
38976
38955
    values[29] = vals[0];
38977
 
    y[0] = 0.2*x[1][0] + 0.6*x[2][0] + 0.2*x[3][0];
38978
 
    y[1] = 0.2*x[1][1] + 0.6*x[2][1] + 0.2*x[3][1];
38979
 
    y[2] = 0.2*x[1][2] + 0.6*x[2][2] + 0.2*x[3][2];
 
38956
    y[0] = 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38957
    y[1] = 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38958
    y[2] = 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
38980
38959
    f.evaluate(vals, y, c);
38981
38960
    values[30] = vals[0];
38982
 
    y[0] = 0.4*x[1][0] + 0.2*x[2][0] + 0.4*x[3][0];
38983
 
    y[1] = 0.4*x[1][1] + 0.2*x[2][1] + 0.4*x[3][1];
38984
 
    y[2] = 0.4*x[1][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
38961
    y[0] = 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38962
    y[1] = 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38963
    y[2] = 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38985
38964
    f.evaluate(vals, y, c);
38986
38965
    values[31] = vals[0];
38987
 
    y[0] = 0.2*x[1][0] + 0.4*x[2][0] + 0.4*x[3][0];
38988
 
    y[1] = 0.2*x[1][1] + 0.4*x[2][1] + 0.4*x[3][1];
38989
 
    y[2] = 0.2*x[1][2] + 0.4*x[2][2] + 0.4*x[3][2];
 
38966
    y[0] = 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38967
    y[1] = 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38968
    y[2] = 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
38990
38969
    f.evaluate(vals, y, c);
38991
38970
    values[32] = vals[0];
38992
 
    y[0] = 0.2*x[1][0] + 0.2*x[2][0] + 0.6*x[3][0];
38993
 
    y[1] = 0.2*x[1][1] + 0.2*x[2][1] + 0.6*x[3][1];
38994
 
    y[2] = 0.2*x[1][2] + 0.2*x[2][2] + 0.6*x[3][2];
 
38971
    y[0] = 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
38972
    y[1] = 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
38973
    y[2] = 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
38995
38974
    f.evaluate(vals, y, c);
38996
38975
    values[33] = vals[0];
38997
 
    y[0] = 0.6*x[0][0] + 0.2*x[2][0] + 0.2*x[3][0];
38998
 
    y[1] = 0.6*x[0][1] + 0.2*x[2][1] + 0.2*x[3][1];
38999
 
    y[2] = 0.6*x[0][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
38976
    y[0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38977
    y[1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38978
    y[2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
39000
38979
    f.evaluate(vals, y, c);
39001
38980
    values[34] = vals[0];
39002
 
    y[0] = 0.4*x[0][0] + 0.4*x[2][0] + 0.2*x[3][0];
39003
 
    y[1] = 0.4*x[0][1] + 0.4*x[2][1] + 0.2*x[3][1];
39004
 
    y[2] = 0.4*x[0][2] + 0.4*x[2][2] + 0.2*x[3][2];
 
38981
    y[0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38982
    y[1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38983
    y[2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
39005
38984
    f.evaluate(vals, y, c);
39006
38985
    values[35] = vals[0];
39007
 
    y[0] = 0.2*x[0][0] + 0.6*x[2][0] + 0.2*x[3][0];
39008
 
    y[1] = 0.2*x[0][1] + 0.6*x[2][1] + 0.2*x[3][1];
39009
 
    y[2] = 0.2*x[0][2] + 0.6*x[2][2] + 0.2*x[3][2];
 
38986
    y[0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
38987
    y[1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
38988
    y[2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
39010
38989
    f.evaluate(vals, y, c);
39011
38990
    values[36] = vals[0];
39012
 
    y[0] = 0.4*x[0][0] + 0.2*x[2][0] + 0.4*x[3][0];
39013
 
    y[1] = 0.4*x[0][1] + 0.2*x[2][1] + 0.4*x[3][1];
39014
 
    y[2] = 0.4*x[0][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
38991
    y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38992
    y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38993
    y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
39015
38994
    f.evaluate(vals, y, c);
39016
38995
    values[37] = vals[0];
39017
 
    y[0] = 0.2*x[0][0] + 0.4*x[2][0] + 0.4*x[3][0];
39018
 
    y[1] = 0.2*x[0][1] + 0.4*x[2][1] + 0.4*x[3][1];
39019
 
    y[2] = 0.2*x[0][2] + 0.4*x[2][2] + 0.4*x[3][2];
 
38996
    y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
38997
    y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
38998
    y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
39020
38999
    f.evaluate(vals, y, c);
39021
39000
    values[38] = vals[0];
39022
 
    y[0] = 0.2*x[0][0] + 0.2*x[2][0] + 0.6*x[3][0];
39023
 
    y[1] = 0.2*x[0][1] + 0.2*x[2][1] + 0.6*x[3][1];
39024
 
    y[2] = 0.2*x[0][2] + 0.2*x[2][2] + 0.6*x[3][2];
 
39001
    y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
39002
    y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
39003
    y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
39025
39004
    f.evaluate(vals, y, c);
39026
39005
    values[39] = vals[0];
39027
 
    y[0] = 0.6*x[0][0] + 0.2*x[1][0] + 0.2*x[3][0];
39028
 
    y[1] = 0.6*x[0][1] + 0.2*x[1][1] + 0.2*x[3][1];
39029
 
    y[2] = 0.6*x[0][2] + 0.2*x[1][2] + 0.2*x[3][2];
 
39006
    y[0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39007
    y[1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39008
    y[2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
39030
39009
    f.evaluate(vals, y, c);
39031
39010
    values[40] = vals[0];
39032
 
    y[0] = 0.4*x[0][0] + 0.4*x[1][0] + 0.2*x[3][0];
39033
 
    y[1] = 0.4*x[0][1] + 0.4*x[1][1] + 0.2*x[3][1];
39034
 
    y[2] = 0.4*x[0][2] + 0.4*x[1][2] + 0.2*x[3][2];
 
39011
    y[0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39012
    y[1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39013
    y[2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
39035
39014
    f.evaluate(vals, y, c);
39036
39015
    values[41] = vals[0];
39037
 
    y[0] = 0.2*x[0][0] + 0.6*x[1][0] + 0.2*x[3][0];
39038
 
    y[1] = 0.2*x[0][1] + 0.6*x[1][1] + 0.2*x[3][1];
39039
 
    y[2] = 0.2*x[0][2] + 0.6*x[1][2] + 0.2*x[3][2];
 
39016
    y[0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39017
    y[1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39018
    y[2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
39040
39019
    f.evaluate(vals, y, c);
39041
39020
    values[42] = vals[0];
39042
 
    y[0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.4*x[3][0];
39043
 
    y[1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.4*x[3][1];
39044
 
    y[2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.4*x[3][2];
 
39021
    y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
39022
    y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
39023
    y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
39045
39024
    f.evaluate(vals, y, c);
39046
39025
    values[43] = vals[0];
39047
 
    y[0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.4*x[3][0];
39048
 
    y[1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.4*x[3][1];
39049
 
    y[2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.4*x[3][2];
 
39026
    y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
39027
    y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
39028
    y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
39050
39029
    f.evaluate(vals, y, c);
39051
39030
    values[44] = vals[0];
39052
 
    y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.6*x[3][0];
39053
 
    y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.6*x[3][1];
39054
 
    y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.6*x[3][2];
 
39031
    y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[9];
 
39032
    y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[10];
 
39033
    y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[11];
39055
39034
    f.evaluate(vals, y, c);
39056
39035
    values[45] = vals[0];
39057
 
    y[0] = 0.6*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0];
39058
 
    y[1] = 0.6*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1];
39059
 
    y[2] = 0.6*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2];
 
39036
    y[0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39037
    y[1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39038
    y[2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
39060
39039
    f.evaluate(vals, y, c);
39061
39040
    values[46] = vals[0];
39062
 
    y[0] = 0.4*x[0][0] + 0.4*x[1][0] + 0.2*x[2][0];
39063
 
    y[1] = 0.4*x[0][1] + 0.4*x[1][1] + 0.2*x[2][1];
39064
 
    y[2] = 0.4*x[0][2] + 0.4*x[1][2] + 0.2*x[2][2];
 
39041
    y[0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39042
    y[1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39043
    y[2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
39065
39044
    f.evaluate(vals, y, c);
39066
39045
    values[47] = vals[0];
39067
 
    y[0] = 0.2*x[0][0] + 0.6*x[1][0] + 0.2*x[2][0];
39068
 
    y[1] = 0.2*x[0][1] + 0.6*x[1][1] + 0.2*x[2][1];
39069
 
    y[2] = 0.2*x[0][2] + 0.6*x[1][2] + 0.2*x[2][2];
 
39046
    y[0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39047
    y[1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39048
    y[2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
39070
39049
    f.evaluate(vals, y, c);
39071
39050
    values[48] = vals[0];
39072
 
    y[0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.4*x[2][0];
39073
 
    y[1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.4*x[2][1];
39074
 
    y[2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.4*x[2][2];
 
39051
    y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
39052
    y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
39053
    y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
39075
39054
    f.evaluate(vals, y, c);
39076
39055
    values[49] = vals[0];
39077
 
    y[0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.4*x[2][0];
39078
 
    y[1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.4*x[2][1];
39079
 
    y[2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.4*x[2][2];
 
39056
    y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
39057
    y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
39058
    y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
39080
39059
    f.evaluate(vals, y, c);
39081
39060
    values[50] = vals[0];
39082
 
    y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.6*x[2][0];
39083
 
    y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.6*x[2][1];
39084
 
    y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.6*x[2][2];
 
39061
    y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[6];
 
39062
    y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[7];
 
39063
    y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[8];
39085
39064
    f.evaluate(vals, y, c);
39086
39065
    values[51] = vals[0];
39087
 
    y[0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
39088
 
    y[1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
39089
 
    y[2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
39066
    y[0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39067
    y[1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39068
    y[2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
39090
39069
    f.evaluate(vals, y, c);
39091
39070
    values[52] = vals[0];
39092
 
    y[0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
39093
 
    y[1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
39094
 
    y[2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
 
39071
    y[0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39072
    y[1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39073
    y[2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
39095
39074
    f.evaluate(vals, y, c);
39096
39075
    values[53] = vals[0];
39097
 
    y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.4*x[2][0] + 0.2*x[3][0];
39098
 
    y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.4*x[2][1] + 0.2*x[3][1];
39099
 
    y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.4*x[2][2] + 0.2*x[3][2];
 
39076
    y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39077
    y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39078
    y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
39100
39079
    f.evaluate(vals, y, c);
39101
39080
    values[54] = vals[0];
39102
 
    y[0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0] + 0.4*x[3][0];
39103
 
    y[1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1] + 0.4*x[3][1];
39104
 
    y[2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
39081
    y[0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39082
    y[1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39083
    y[2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
39105
39084
    f.evaluate(vals, y, c);
39106
39085
    values[55] = vals[0];
39107
39086
  }
39109
39088
  /// Interpolate vertex values from dof values
39110
39089
  virtual void interpolate_vertex_values(double* vertex_values,
39111
39090
                                         const double* dof_values,
 
39091
                                         const double* vertex_coordinates,
 
39092
                                         int cell_orientation,
39112
39093
                                         const ufc::cell& c) const
39113
39094
  {
39114
39095
    // Evaluate function and change variables
39123
39104
                                       const double* xhat,
39124
39105
                                       const ufc::cell& c) const
39125
39106
  {
39126
 
    std::cerr << "*** FFC warning: " << "map_from_reference_cell not yet implemented (introduced in UFC 2.0)." << std::endl;
 
39107
    std::cerr << "*** FFC warning: " << "map_from_reference_cell not yet implemented." << std::endl;
39127
39108
  }
39128
39109
 
39129
39110
  /// Map from coordinate x in cell to coordinate xhat in reference cell
39131
39112
                                     const double* x,
39132
39113
                                     const ufc::cell& c) const
39133
39114
  {
39134
 
    std::cerr << "*** FFC warning: " << "map_to_reference_cell not yet implemented (introduced in UFC 2.0)." << std::endl;
 
39115
    std::cerr << "*** FFC warning: " << "map_to_reference_cell not yet implemented." << std::endl;
39135
39116
  }
39136
39117
 
39137
39118
  /// Return the number of sub elements (for a mixed element)
39138
 
  virtual unsigned int num_sub_elements() const
 
39119
  virtual std::size_t num_sub_elements() const
39139
39120
  {
39140
39121
    return 0;
39141
39122
  }
39142
39123
 
39143
39124
  /// Create a new finite element for sub element i (for a mixed element)
39144
 
  virtual ufc::finite_element* create_sub_element(unsigned int i) const
 
39125
  virtual ufc::finite_element* create_sub_element(std::size_t i) const
39145
39126
  {
39146
39127
    return 0;
39147
39128
  }
39159
39140
 
39160
39141
class p5tet_dofmap_0: public ufc::dofmap
39161
39142
{
39162
 
private:
39163
 
 
39164
 
  unsigned int _global_dimension;
39165
39143
public:
39166
39144
 
39167
39145
  /// Constructor
39168
39146
  p5tet_dofmap_0() : ufc::dofmap()
39169
39147
  {
39170
 
    _global_dimension = 0;
 
39148
    // Do nothing
39171
39149
  }
39172
39150
 
39173
39151
  /// Destructor
39179
39157
  /// Return a string identifying the dofmap
39180
39158
  virtual const char* signature() const
39181
39159
  {
39182
 
    return "FFC dofmap for FiniteElement('Lagrange', Cell('tetrahedron', Space(3)), 5, None)";
 
39160
    return "FFC dofmap for FiniteElement('Lagrange', Domain(Cell('tetrahedron', 3), 'tetrahedron_multiverse', 3, 3), 5, None)";
39183
39161
  }
39184
39162
 
39185
39163
  /// Return true iff mesh entities of topological dimension d are needed
39186
 
  virtual bool needs_mesh_entities(unsigned int d) const
 
39164
  virtual bool needs_mesh_entities(std::size_t d) const
39187
39165
  {
39188
39166
    switch (d)
39189
39167
    {
39212
39190
    return false;
39213
39191
  }
39214
39192
 
39215
 
  /// Initialize dofmap for mesh (return true iff init_cell() is needed)
39216
 
  virtual bool init_mesh(const ufc::mesh& m)
39217
 
  {
39218
 
    _global_dimension = m.num_entities[0] + 4*m.num_entities[1] + 6*m.num_entities[2] + 4*m.num_entities[3];
39219
 
    return false;
39220
 
  }
39221
 
 
39222
 
  /// Initialize dofmap for given cell
39223
 
  virtual void init_cell(const ufc::mesh& m,
39224
 
                         const ufc::cell& c)
39225
 
  {
39226
 
    // Do nothing
39227
 
  }
39228
 
 
39229
 
  /// Finish initialization of dofmap for cells
39230
 
  virtual void init_cell_finalize()
39231
 
  {
39232
 
    // Do nothing
39233
 
  }
39234
 
 
39235
39193
  /// Return the topological dimension of the associated cell shape
39236
 
  virtual unsigned int topological_dimension() const
 
39194
  virtual std::size_t topological_dimension() const
39237
39195
  {
39238
39196
    return 3;
39239
39197
  }
39240
39198
 
39241
39199
  /// Return the geometric dimension of the associated cell shape
39242
 
  virtual unsigned int geometric_dimension() const
 
39200
  virtual std::size_t geometric_dimension() const
39243
39201
  {
39244
39202
    return 3;
39245
39203
  }
39246
39204
 
39247
39205
  /// Return the dimension of the global finite element function space
39248
 
  virtual unsigned int global_dimension() const
 
39206
  virtual std::size_t global_dimension(const std::vector<std::size_t>&
 
39207
                                       num_global_entities) const
39249
39208
  {
39250
 
    return _global_dimension;
 
39209
    return num_global_entities[0] + 4*num_global_entities[1] + 6*num_global_entities[2] + 4*num_global_entities[3];
39251
39210
  }
39252
39211
 
39253
39212
  /// Return the dimension of the local finite element function space for a cell
39254
 
  virtual unsigned int local_dimension(const ufc::cell& c) const
 
39213
  virtual std::size_t local_dimension(const ufc::cell& c) const
39255
39214
  {
39256
39215
    return 56;
39257
39216
  }
39258
39217
 
39259
39218
  /// Return the maximum dimension of the local finite element function space
39260
 
  virtual unsigned int max_local_dimension() const
 
39219
  virtual std::size_t max_local_dimension() const
39261
39220
  {
39262
39221
    return 56;
39263
39222
  }
39264
39223
 
39265
39224
  /// Return the number of dofs on each cell facet
39266
 
  virtual unsigned int num_facet_dofs() const
 
39225
  virtual std::size_t num_facet_dofs() const
39267
39226
  {
39268
39227
    return 21;
39269
39228
  }
39270
39229
 
39271
39230
  /// Return the number of dofs associated with each cell entity of dimension d
39272
 
  virtual unsigned int num_entity_dofs(unsigned int d) const
 
39231
  virtual std::size_t num_entity_dofs(std::size_t d) const
39273
39232
  {
39274
39233
    switch (d)
39275
39234
    {
39299
39258
  }
39300
39259
 
39301
39260
  /// Tabulate the local-to-global mapping of dofs on a cell
39302
 
  virtual void tabulate_dofs(unsigned int* dofs,
39303
 
                             const ufc::mesh& m,
 
39261
  virtual void tabulate_dofs(std::size_t* dofs,
 
39262
                             const std::vector<std::size_t>& num_global_entities,
39304
39263
                             const ufc::cell& c) const
39305
39264
  {
39306
39265
    unsigned int offset = 0;
39308
39267
    dofs[1] = offset + c.entity_indices[0][1];
39309
39268
    dofs[2] = offset + c.entity_indices[0][2];
39310
39269
    dofs[3] = offset + c.entity_indices[0][3];
39311
 
    offset += m.num_entities[0];
 
39270
    offset += num_global_entities[0];
39312
39271
    dofs[4] = offset + 4*c.entity_indices[1][0];
39313
39272
    dofs[5] = offset + 4*c.entity_indices[1][0] + 1;
39314
39273
    dofs[6] = offset + 4*c.entity_indices[1][0] + 2;
39333
39292
    dofs[25] = offset + 4*c.entity_indices[1][5] + 1;
39334
39293
    dofs[26] = offset + 4*c.entity_indices[1][5] + 2;
39335
39294
    dofs[27] = offset + 4*c.entity_indices[1][5] + 3;
39336
 
    offset += 4*m.num_entities[1];
 
39295
    offset += 4*num_global_entities[1];
39337
39296
    dofs[28] = offset + 6*c.entity_indices[2][0];
39338
39297
    dofs[29] = offset + 6*c.entity_indices[2][0] + 1;
39339
39298
    dofs[30] = offset + 6*c.entity_indices[2][0] + 2;
39358
39317
    dofs[49] = offset + 6*c.entity_indices[2][3] + 3;
39359
39318
    dofs[50] = offset + 6*c.entity_indices[2][3] + 4;
39360
39319
    dofs[51] = offset + 6*c.entity_indices[2][3] + 5;
39361
 
    offset += 6*m.num_entities[2];
 
39320
    offset += 6*num_global_entities[2];
39362
39321
    dofs[52] = offset + 4*c.entity_indices[3][0];
39363
39322
    dofs[53] = offset + 4*c.entity_indices[3][0] + 1;
39364
39323
    dofs[54] = offset + 4*c.entity_indices[3][0] + 2;
39365
39324
    dofs[55] = offset + 4*c.entity_indices[3][0] + 3;
39366
 
    offset += 4*m.num_entities[3];
 
39325
    offset += 4*num_global_entities[3];
39367
39326
  }
39368
39327
 
39369
39328
  /// Tabulate the local-to-local mapping from facet dofs to cell dofs
39370
 
  virtual void tabulate_facet_dofs(unsigned int* dofs,
39371
 
                                   unsigned int facet) const
 
39329
  virtual void tabulate_facet_dofs(std::size_t* dofs,
 
39330
                                   std::size_t facet) const
39372
39331
  {
39373
39332
    switch (facet)
39374
39333
    {
39477
39436
  }
39478
39437
 
39479
39438
  /// Tabulate the local-to-local mapping of dofs on entity (d, i)
39480
 
  virtual void tabulate_entity_dofs(unsigned int* dofs,
39481
 
                                    unsigned int d, unsigned int i) const
 
39439
  virtual void tabulate_entity_dofs(std::size_t* dofs,
 
39440
                                    std::size_t d, std::size_t i) const
39482
39441
  {
39483
39442
    if (d > 3)
39484
39443
    {
39652
39611
  }
39653
39612
 
39654
39613
  /// Tabulate the coordinates of all dofs on a cell
39655
 
  virtual void tabulate_coordinates(double** coordinates,
39656
 
                                    const ufc::cell& c) const
 
39614
  virtual void tabulate_coordinates(double** dof_coordinates,
 
39615
                                    const double* vertex_coordinates) const
39657
39616
  {
39658
 
    const double * const * x = c.coordinates;
39659
 
    
39660
 
    coordinates[0][0] = x[0][0];
39661
 
    coordinates[0][1] = x[0][1];
39662
 
    coordinates[0][2] = x[0][2];
39663
 
    coordinates[1][0] = x[1][0];
39664
 
    coordinates[1][1] = x[1][1];
39665
 
    coordinates[1][2] = x[1][2];
39666
 
    coordinates[2][0] = x[2][0];
39667
 
    coordinates[2][1] = x[2][1];
39668
 
    coordinates[2][2] = x[2][2];
39669
 
    coordinates[3][0] = x[3][0];
39670
 
    coordinates[3][1] = x[3][1];
39671
 
    coordinates[3][2] = x[3][2];
39672
 
    coordinates[4][0] = 0.8*x[2][0] + 0.2*x[3][0];
39673
 
    coordinates[4][1] = 0.8*x[2][1] + 0.2*x[3][1];
39674
 
    coordinates[4][2] = 0.8*x[2][2] + 0.2*x[3][2];
39675
 
    coordinates[5][0] = 0.6*x[2][0] + 0.4*x[3][0];
39676
 
    coordinates[5][1] = 0.6*x[2][1] + 0.4*x[3][1];
39677
 
    coordinates[5][2] = 0.6*x[2][2] + 0.4*x[3][2];
39678
 
    coordinates[6][0] = 0.4*x[2][0] + 0.6*x[3][0];
39679
 
    coordinates[6][1] = 0.4*x[2][1] + 0.6*x[3][1];
39680
 
    coordinates[6][2] = 0.4*x[2][2] + 0.6*x[3][2];
39681
 
    coordinates[7][0] = 0.2*x[2][0] + 0.8*x[3][0];
39682
 
    coordinates[7][1] = 0.2*x[2][1] + 0.8*x[3][1];
39683
 
    coordinates[7][2] = 0.2*x[2][2] + 0.8*x[3][2];
39684
 
    coordinates[8][0] = 0.8*x[1][0] + 0.2*x[3][0];
39685
 
    coordinates[8][1] = 0.8*x[1][1] + 0.2*x[3][1];
39686
 
    coordinates[8][2] = 0.8*x[1][2] + 0.2*x[3][2];
39687
 
    coordinates[9][0] = 0.6*x[1][0] + 0.4*x[3][0];
39688
 
    coordinates[9][1] = 0.6*x[1][1] + 0.4*x[3][1];
39689
 
    coordinates[9][2] = 0.6*x[1][2] + 0.4*x[3][2];
39690
 
    coordinates[10][0] = 0.4*x[1][0] + 0.6*x[3][0];
39691
 
    coordinates[10][1] = 0.4*x[1][1] + 0.6*x[3][1];
39692
 
    coordinates[10][2] = 0.4*x[1][2] + 0.6*x[3][2];
39693
 
    coordinates[11][0] = 0.2*x[1][0] + 0.8*x[3][0];
39694
 
    coordinates[11][1] = 0.2*x[1][1] + 0.8*x[3][1];
39695
 
    coordinates[11][2] = 0.2*x[1][2] + 0.8*x[3][2];
39696
 
    coordinates[12][0] = 0.8*x[1][0] + 0.2*x[2][0];
39697
 
    coordinates[12][1] = 0.8*x[1][1] + 0.2*x[2][1];
39698
 
    coordinates[12][2] = 0.8*x[1][2] + 0.2*x[2][2];
39699
 
    coordinates[13][0] = 0.6*x[1][0] + 0.4*x[2][0];
39700
 
    coordinates[13][1] = 0.6*x[1][1] + 0.4*x[2][1];
39701
 
    coordinates[13][2] = 0.6*x[1][2] + 0.4*x[2][2];
39702
 
    coordinates[14][0] = 0.4*x[1][0] + 0.6*x[2][0];
39703
 
    coordinates[14][1] = 0.4*x[1][1] + 0.6*x[2][1];
39704
 
    coordinates[14][2] = 0.4*x[1][2] + 0.6*x[2][2];
39705
 
    coordinates[15][0] = 0.2*x[1][0] + 0.8*x[2][0];
39706
 
    coordinates[15][1] = 0.2*x[1][1] + 0.8*x[2][1];
39707
 
    coordinates[15][2] = 0.2*x[1][2] + 0.8*x[2][2];
39708
 
    coordinates[16][0] = 0.8*x[0][0] + 0.2*x[3][0];
39709
 
    coordinates[16][1] = 0.8*x[0][1] + 0.2*x[3][1];
39710
 
    coordinates[16][2] = 0.8*x[0][2] + 0.2*x[3][2];
39711
 
    coordinates[17][0] = 0.6*x[0][0] + 0.4*x[3][0];
39712
 
    coordinates[17][1] = 0.6*x[0][1] + 0.4*x[3][1];
39713
 
    coordinates[17][2] = 0.6*x[0][2] + 0.4*x[3][2];
39714
 
    coordinates[18][0] = 0.4*x[0][0] + 0.6*x[3][0];
39715
 
    coordinates[18][1] = 0.4*x[0][1] + 0.6*x[3][1];
39716
 
    coordinates[18][2] = 0.4*x[0][2] + 0.6*x[3][2];
39717
 
    coordinates[19][0] = 0.2*x[0][0] + 0.8*x[3][0];
39718
 
    coordinates[19][1] = 0.2*x[0][1] + 0.8*x[3][1];
39719
 
    coordinates[19][2] = 0.2*x[0][2] + 0.8*x[3][2];
39720
 
    coordinates[20][0] = 0.8*x[0][0] + 0.2*x[2][0];
39721
 
    coordinates[20][1] = 0.8*x[0][1] + 0.2*x[2][1];
39722
 
    coordinates[20][2] = 0.8*x[0][2] + 0.2*x[2][2];
39723
 
    coordinates[21][0] = 0.6*x[0][0] + 0.4*x[2][0];
39724
 
    coordinates[21][1] = 0.6*x[0][1] + 0.4*x[2][1];
39725
 
    coordinates[21][2] = 0.6*x[0][2] + 0.4*x[2][2];
39726
 
    coordinates[22][0] = 0.4*x[0][0] + 0.6*x[2][0];
39727
 
    coordinates[22][1] = 0.4*x[0][1] + 0.6*x[2][1];
39728
 
    coordinates[22][2] = 0.4*x[0][2] + 0.6*x[2][2];
39729
 
    coordinates[23][0] = 0.2*x[0][0] + 0.8*x[2][0];
39730
 
    coordinates[23][1] = 0.2*x[0][1] + 0.8*x[2][1];
39731
 
    coordinates[23][2] = 0.2*x[0][2] + 0.8*x[2][2];
39732
 
    coordinates[24][0] = 0.8*x[0][0] + 0.2*x[1][0];
39733
 
    coordinates[24][1] = 0.8*x[0][1] + 0.2*x[1][1];
39734
 
    coordinates[24][2] = 0.8*x[0][2] + 0.2*x[1][2];
39735
 
    coordinates[25][0] = 0.6*x[0][0] + 0.4*x[1][0];
39736
 
    coordinates[25][1] = 0.6*x[0][1] + 0.4*x[1][1];
39737
 
    coordinates[25][2] = 0.6*x[0][2] + 0.4*x[1][2];
39738
 
    coordinates[26][0] = 0.4*x[0][0] + 0.6*x[1][0];
39739
 
    coordinates[26][1] = 0.4*x[0][1] + 0.6*x[1][1];
39740
 
    coordinates[26][2] = 0.4*x[0][2] + 0.6*x[1][2];
39741
 
    coordinates[27][0] = 0.2*x[0][0] + 0.8*x[1][0];
39742
 
    coordinates[27][1] = 0.2*x[0][1] + 0.8*x[1][1];
39743
 
    coordinates[27][2] = 0.2*x[0][2] + 0.8*x[1][2];
39744
 
    coordinates[28][0] = 0.6*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
39745
 
    coordinates[28][1] = 0.6*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
39746
 
    coordinates[28][2] = 0.6*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
39747
 
    coordinates[29][0] = 0.4*x[1][0] + 0.4*x[2][0] + 0.2*x[3][0];
39748
 
    coordinates[29][1] = 0.4*x[1][1] + 0.4*x[2][1] + 0.2*x[3][1];
39749
 
    coordinates[29][2] = 0.4*x[1][2] + 0.4*x[2][2] + 0.2*x[3][2];
39750
 
    coordinates[30][0] = 0.2*x[1][0] + 0.6*x[2][0] + 0.2*x[3][0];
39751
 
    coordinates[30][1] = 0.2*x[1][1] + 0.6*x[2][1] + 0.2*x[3][1];
39752
 
    coordinates[30][2] = 0.2*x[1][2] + 0.6*x[2][2] + 0.2*x[3][2];
39753
 
    coordinates[31][0] = 0.4*x[1][0] + 0.2*x[2][0] + 0.4*x[3][0];
39754
 
    coordinates[31][1] = 0.4*x[1][1] + 0.2*x[2][1] + 0.4*x[3][1];
39755
 
    coordinates[31][2] = 0.4*x[1][2] + 0.2*x[2][2] + 0.4*x[3][2];
39756
 
    coordinates[32][0] = 0.2*x[1][0] + 0.4*x[2][0] + 0.4*x[3][0];
39757
 
    coordinates[32][1] = 0.2*x[1][1] + 0.4*x[2][1] + 0.4*x[3][1];
39758
 
    coordinates[32][2] = 0.2*x[1][2] + 0.4*x[2][2] + 0.4*x[3][2];
39759
 
    coordinates[33][0] = 0.2*x[1][0] + 0.2*x[2][0] + 0.6*x[3][0];
39760
 
    coordinates[33][1] = 0.2*x[1][1] + 0.2*x[2][1] + 0.6*x[3][1];
39761
 
    coordinates[33][2] = 0.2*x[1][2] + 0.2*x[2][2] + 0.6*x[3][2];
39762
 
    coordinates[34][0] = 0.6*x[0][0] + 0.2*x[2][0] + 0.2*x[3][0];
39763
 
    coordinates[34][1] = 0.6*x[0][1] + 0.2*x[2][1] + 0.2*x[3][1];
39764
 
    coordinates[34][2] = 0.6*x[0][2] + 0.2*x[2][2] + 0.2*x[3][2];
39765
 
    coordinates[35][0] = 0.4*x[0][0] + 0.4*x[2][0] + 0.2*x[3][0];
39766
 
    coordinates[35][1] = 0.4*x[0][1] + 0.4*x[2][1] + 0.2*x[3][1];
39767
 
    coordinates[35][2] = 0.4*x[0][2] + 0.4*x[2][2] + 0.2*x[3][2];
39768
 
    coordinates[36][0] = 0.2*x[0][0] + 0.6*x[2][0] + 0.2*x[3][0];
39769
 
    coordinates[36][1] = 0.2*x[0][1] + 0.6*x[2][1] + 0.2*x[3][1];
39770
 
    coordinates[36][2] = 0.2*x[0][2] + 0.6*x[2][2] + 0.2*x[3][2];
39771
 
    coordinates[37][0] = 0.4*x[0][0] + 0.2*x[2][0] + 0.4*x[3][0];
39772
 
    coordinates[37][1] = 0.4*x[0][1] + 0.2*x[2][1] + 0.4*x[3][1];
39773
 
    coordinates[37][2] = 0.4*x[0][2] + 0.2*x[2][2] + 0.4*x[3][2];
39774
 
    coordinates[38][0] = 0.2*x[0][0] + 0.4*x[2][0] + 0.4*x[3][0];
39775
 
    coordinates[38][1] = 0.2*x[0][1] + 0.4*x[2][1] + 0.4*x[3][1];
39776
 
    coordinates[38][2] = 0.2*x[0][2] + 0.4*x[2][2] + 0.4*x[3][2];
39777
 
    coordinates[39][0] = 0.2*x[0][0] + 0.2*x[2][0] + 0.6*x[3][0];
39778
 
    coordinates[39][1] = 0.2*x[0][1] + 0.2*x[2][1] + 0.6*x[3][1];
39779
 
    coordinates[39][2] = 0.2*x[0][2] + 0.2*x[2][2] + 0.6*x[3][2];
39780
 
    coordinates[40][0] = 0.6*x[0][0] + 0.2*x[1][0] + 0.2*x[3][0];
39781
 
    coordinates[40][1] = 0.6*x[0][1] + 0.2*x[1][1] + 0.2*x[3][1];
39782
 
    coordinates[40][2] = 0.6*x[0][2] + 0.2*x[1][2] + 0.2*x[3][2];
39783
 
    coordinates[41][0] = 0.4*x[0][0] + 0.4*x[1][0] + 0.2*x[3][0];
39784
 
    coordinates[41][1] = 0.4*x[0][1] + 0.4*x[1][1] + 0.2*x[3][1];
39785
 
    coordinates[41][2] = 0.4*x[0][2] + 0.4*x[1][2] + 0.2*x[3][2];
39786
 
    coordinates[42][0] = 0.2*x[0][0] + 0.6*x[1][0] + 0.2*x[3][0];
39787
 
    coordinates[42][1] = 0.2*x[0][1] + 0.6*x[1][1] + 0.2*x[3][1];
39788
 
    coordinates[42][2] = 0.2*x[0][2] + 0.6*x[1][2] + 0.2*x[3][2];
39789
 
    coordinates[43][0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.4*x[3][0];
39790
 
    coordinates[43][1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.4*x[3][1];
39791
 
    coordinates[43][2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.4*x[3][2];
39792
 
    coordinates[44][0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.4*x[3][0];
39793
 
    coordinates[44][1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.4*x[3][1];
39794
 
    coordinates[44][2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.4*x[3][2];
39795
 
    coordinates[45][0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.6*x[3][0];
39796
 
    coordinates[45][1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.6*x[3][1];
39797
 
    coordinates[45][2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.6*x[3][2];
39798
 
    coordinates[46][0] = 0.6*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0];
39799
 
    coordinates[46][1] = 0.6*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1];
39800
 
    coordinates[46][2] = 0.6*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2];
39801
 
    coordinates[47][0] = 0.4*x[0][0] + 0.4*x[1][0] + 0.2*x[2][0];
39802
 
    coordinates[47][1] = 0.4*x[0][1] + 0.4*x[1][1] + 0.2*x[2][1];
39803
 
    coordinates[47][2] = 0.4*x[0][2] + 0.4*x[1][2] + 0.2*x[2][2];
39804
 
    coordinates[48][0] = 0.2*x[0][0] + 0.6*x[1][0] + 0.2*x[2][0];
39805
 
    coordinates[48][1] = 0.2*x[0][1] + 0.6*x[1][1] + 0.2*x[2][1];
39806
 
    coordinates[48][2] = 0.2*x[0][2] + 0.6*x[1][2] + 0.2*x[2][2];
39807
 
    coordinates[49][0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.4*x[2][0];
39808
 
    coordinates[49][1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.4*x[2][1];
39809
 
    coordinates[49][2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.4*x[2][2];
39810
 
    coordinates[50][0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.4*x[2][0];
39811
 
    coordinates[50][1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.4*x[2][1];
39812
 
    coordinates[50][2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.4*x[2][2];
39813
 
    coordinates[51][0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.6*x[2][0];
39814
 
    coordinates[51][1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.6*x[2][1];
39815
 
    coordinates[51][2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.6*x[2][2];
39816
 
    coordinates[52][0] = 0.4*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
39817
 
    coordinates[52][1] = 0.4*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
39818
 
    coordinates[52][2] = 0.4*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
39819
 
    coordinates[53][0] = 0.2*x[0][0] + 0.4*x[1][0] + 0.2*x[2][0] + 0.2*x[3][0];
39820
 
    coordinates[53][1] = 0.2*x[0][1] + 0.4*x[1][1] + 0.2*x[2][1] + 0.2*x[3][1];
39821
 
    coordinates[53][2] = 0.2*x[0][2] + 0.4*x[1][2] + 0.2*x[2][2] + 0.2*x[3][2];
39822
 
    coordinates[54][0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.4*x[2][0] + 0.2*x[3][0];
39823
 
    coordinates[54][1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.4*x[2][1] + 0.2*x[3][1];
39824
 
    coordinates[54][2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.4*x[2][2] + 0.2*x[3][2];
39825
 
    coordinates[55][0] = 0.2*x[0][0] + 0.2*x[1][0] + 0.2*x[2][0] + 0.4*x[3][0];
39826
 
    coordinates[55][1] = 0.2*x[0][1] + 0.2*x[1][1] + 0.2*x[2][1] + 0.4*x[3][1];
39827
 
    coordinates[55][2] = 0.2*x[0][2] + 0.2*x[1][2] + 0.2*x[2][2] + 0.4*x[3][2];
 
39617
    dof_coordinates[0][0] = vertex_coordinates[0];
 
39618
    dof_coordinates[0][1] = vertex_coordinates[1];
 
39619
    dof_coordinates[0][2] = vertex_coordinates[2];
 
39620
    dof_coordinates[1][0] = vertex_coordinates[3];
 
39621
    dof_coordinates[1][1] = vertex_coordinates[4];
 
39622
    dof_coordinates[1][2] = vertex_coordinates[5];
 
39623
    dof_coordinates[2][0] = vertex_coordinates[6];
 
39624
    dof_coordinates[2][1] = vertex_coordinates[7];
 
39625
    dof_coordinates[2][2] = vertex_coordinates[8];
 
39626
    dof_coordinates[3][0] = vertex_coordinates[9];
 
39627
    dof_coordinates[3][1] = vertex_coordinates[10];
 
39628
    dof_coordinates[3][2] = vertex_coordinates[11];
 
39629
    dof_coordinates[4][0] = 0.8*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39630
    dof_coordinates[4][1] = 0.8*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39631
    dof_coordinates[4][2] = 0.8*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39632
    dof_coordinates[5][0] = 0.6*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39633
    dof_coordinates[5][1] = 0.6*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39634
    dof_coordinates[5][2] = 0.6*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
 
39635
    dof_coordinates[6][0] = 0.4*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
39636
    dof_coordinates[6][1] = 0.4*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
39637
    dof_coordinates[6][2] = 0.4*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
 
39638
    dof_coordinates[7][0] = 0.2*vertex_coordinates[6] + 0.8*vertex_coordinates[9];
 
39639
    dof_coordinates[7][1] = 0.2*vertex_coordinates[7] + 0.8*vertex_coordinates[10];
 
39640
    dof_coordinates[7][2] = 0.2*vertex_coordinates[8] + 0.8*vertex_coordinates[11];
 
39641
    dof_coordinates[8][0] = 0.8*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39642
    dof_coordinates[8][1] = 0.8*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39643
    dof_coordinates[8][2] = 0.8*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
 
39644
    dof_coordinates[9][0] = 0.6*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
39645
    dof_coordinates[9][1] = 0.6*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
39646
    dof_coordinates[9][2] = 0.6*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
 
39647
    dof_coordinates[10][0] = 0.4*vertex_coordinates[3] + 0.6*vertex_coordinates[9];
 
39648
    dof_coordinates[10][1] = 0.4*vertex_coordinates[4] + 0.6*vertex_coordinates[10];
 
39649
    dof_coordinates[10][2] = 0.4*vertex_coordinates[5] + 0.6*vertex_coordinates[11];
 
39650
    dof_coordinates[11][0] = 0.2*vertex_coordinates[3] + 0.8*vertex_coordinates[9];
 
39651
    dof_coordinates[11][1] = 0.2*vertex_coordinates[4] + 0.8*vertex_coordinates[10];
 
39652
    dof_coordinates[11][2] = 0.2*vertex_coordinates[5] + 0.8*vertex_coordinates[11];
 
39653
    dof_coordinates[12][0] = 0.8*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39654
    dof_coordinates[12][1] = 0.8*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39655
    dof_coordinates[12][2] = 0.8*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
 
39656
    dof_coordinates[13][0] = 0.6*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
39657
    dof_coordinates[13][1] = 0.6*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
39658
    dof_coordinates[13][2] = 0.6*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
 
39659
    dof_coordinates[14][0] = 0.4*vertex_coordinates[3] + 0.6*vertex_coordinates[6];
 
39660
    dof_coordinates[14][1] = 0.4*vertex_coordinates[4] + 0.6*vertex_coordinates[7];
 
39661
    dof_coordinates[14][2] = 0.4*vertex_coordinates[5] + 0.6*vertex_coordinates[8];
 
39662
    dof_coordinates[15][0] = 0.2*vertex_coordinates[3] + 0.8*vertex_coordinates[6];
 
39663
    dof_coordinates[15][1] = 0.2*vertex_coordinates[4] + 0.8*vertex_coordinates[7];
 
39664
    dof_coordinates[15][2] = 0.2*vertex_coordinates[5] + 0.8*vertex_coordinates[8];
 
39665
    dof_coordinates[16][0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[9];
 
39666
    dof_coordinates[16][1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[10];
 
39667
    dof_coordinates[16][2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[11];
 
39668
    dof_coordinates[17][0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[9];
 
39669
    dof_coordinates[17][1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[10];
 
39670
    dof_coordinates[17][2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[11];
 
39671
    dof_coordinates[18][0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[9];
 
39672
    dof_coordinates[18][1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[10];
 
39673
    dof_coordinates[18][2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[11];
 
39674
    dof_coordinates[19][0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[9];
 
39675
    dof_coordinates[19][1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[10];
 
39676
    dof_coordinates[19][2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[11];
 
39677
    dof_coordinates[20][0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[6];
 
39678
    dof_coordinates[20][1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[7];
 
39679
    dof_coordinates[20][2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[8];
 
39680
    dof_coordinates[21][0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[6];
 
39681
    dof_coordinates[21][1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[7];
 
39682
    dof_coordinates[21][2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[8];
 
39683
    dof_coordinates[22][0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[6];
 
39684
    dof_coordinates[22][1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[7];
 
39685
    dof_coordinates[22][2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[8];
 
39686
    dof_coordinates[23][0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[6];
 
39687
    dof_coordinates[23][1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[7];
 
39688
    dof_coordinates[23][2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[8];
 
39689
    dof_coordinates[24][0] = 0.8*vertex_coordinates[0] + 0.2*vertex_coordinates[3];
 
39690
    dof_coordinates[24][1] = 0.8*vertex_coordinates[1] + 0.2*vertex_coordinates[4];
 
39691
    dof_coordinates[24][2] = 0.8*vertex_coordinates[2] + 0.2*vertex_coordinates[5];
 
39692
    dof_coordinates[25][0] = 0.6*vertex_coordinates[0] + 0.4*vertex_coordinates[3];
 
39693
    dof_coordinates[25][1] = 0.6*vertex_coordinates[1] + 0.4*vertex_coordinates[4];
 
39694
    dof_coordinates[25][2] = 0.6*vertex_coordinates[2] + 0.4*vertex_coordinates[5];
 
39695
    dof_coordinates[26][0] = 0.4*vertex_coordinates[0] + 0.6*vertex_coordinates[3];
 
39696
    dof_coordinates[26][1] = 0.4*vertex_coordinates[1] + 0.6*vertex_coordinates[4];
 
39697
    dof_coordinates[26][2] = 0.4*vertex_coordinates[2] + 0.6*vertex_coordinates[5];
 
39698
    dof_coordinates[27][0] = 0.2*vertex_coordinates[0] + 0.8*vertex_coordinates[3];
 
39699
    dof_coordinates[27][1] = 0.2*vertex_coordinates[1] + 0.8*vertex_coordinates[4];
 
39700
    dof_coordinates[27][2] = 0.2*vertex_coordinates[2] + 0.8*vertex_coordinates[5];
 
39701
    dof_coordinates[28][0] = 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39702
    dof_coordinates[28][1] = 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39703
    dof_coordinates[28][2] = 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39704
    dof_coordinates[29][0] = 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39705
    dof_coordinates[29][1] = 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39706
    dof_coordinates[29][2] = 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39707
    dof_coordinates[30][0] = 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39708
    dof_coordinates[30][1] = 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39709
    dof_coordinates[30][2] = 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39710
    dof_coordinates[31][0] = 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39711
    dof_coordinates[31][1] = 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39712
    dof_coordinates[31][2] = 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
 
39713
    dof_coordinates[32][0] = 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39714
    dof_coordinates[32][1] = 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39715
    dof_coordinates[32][2] = 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
 
39716
    dof_coordinates[33][0] = 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
39717
    dof_coordinates[33][1] = 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
39718
    dof_coordinates[33][2] = 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
 
39719
    dof_coordinates[34][0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39720
    dof_coordinates[34][1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39721
    dof_coordinates[34][2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39722
    dof_coordinates[35][0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39723
    dof_coordinates[35][1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39724
    dof_coordinates[35][2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39725
    dof_coordinates[36][0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39726
    dof_coordinates[36][1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39727
    dof_coordinates[36][2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39728
    dof_coordinates[37][0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39729
    dof_coordinates[37][1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39730
    dof_coordinates[37][2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
 
39731
    dof_coordinates[38][0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39732
    dof_coordinates[38][1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39733
    dof_coordinates[38][2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
 
39734
    dof_coordinates[39][0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[6] + 0.6*vertex_coordinates[9];
 
39735
    dof_coordinates[39][1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[7] + 0.6*vertex_coordinates[10];
 
39736
    dof_coordinates[39][2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[8] + 0.6*vertex_coordinates[11];
 
39737
    dof_coordinates[40][0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39738
    dof_coordinates[40][1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39739
    dof_coordinates[40][2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
 
39740
    dof_coordinates[41][0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39741
    dof_coordinates[41][1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39742
    dof_coordinates[41][2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
 
39743
    dof_coordinates[42][0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[9];
 
39744
    dof_coordinates[42][1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[10];
 
39745
    dof_coordinates[42][2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[11];
 
39746
    dof_coordinates[43][0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
39747
    dof_coordinates[43][1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
39748
    dof_coordinates[43][2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
 
39749
    dof_coordinates[44][0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[9];
 
39750
    dof_coordinates[44][1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[10];
 
39751
    dof_coordinates[44][2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[11];
 
39752
    dof_coordinates[45][0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[9];
 
39753
    dof_coordinates[45][1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[10];
 
39754
    dof_coordinates[45][2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[11];
 
39755
    dof_coordinates[46][0] = 0.6*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39756
    dof_coordinates[46][1] = 0.6*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39757
    dof_coordinates[46][2] = 0.6*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
 
39758
    dof_coordinates[47][0] = 0.4*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39759
    dof_coordinates[47][1] = 0.4*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39760
    dof_coordinates[47][2] = 0.4*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
 
39761
    dof_coordinates[48][0] = 0.2*vertex_coordinates[0] + 0.6*vertex_coordinates[3] + 0.2*vertex_coordinates[6];
 
39762
    dof_coordinates[48][1] = 0.2*vertex_coordinates[1] + 0.6*vertex_coordinates[4] + 0.2*vertex_coordinates[7];
 
39763
    dof_coordinates[48][2] = 0.2*vertex_coordinates[2] + 0.6*vertex_coordinates[5] + 0.2*vertex_coordinates[8];
 
39764
    dof_coordinates[49][0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
39765
    dof_coordinates[49][1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
39766
    dof_coordinates[49][2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
 
39767
    dof_coordinates[50][0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.4*vertex_coordinates[6];
 
39768
    dof_coordinates[50][1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.4*vertex_coordinates[7];
 
39769
    dof_coordinates[50][2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.4*vertex_coordinates[8];
 
39770
    dof_coordinates[51][0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.6*vertex_coordinates[6];
 
39771
    dof_coordinates[51][1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.6*vertex_coordinates[7];
 
39772
    dof_coordinates[51][2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.6*vertex_coordinates[8];
 
39773
    dof_coordinates[52][0] = 0.4*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39774
    dof_coordinates[52][1] = 0.4*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39775
    dof_coordinates[52][2] = 0.4*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39776
    dof_coordinates[53][0] = 0.2*vertex_coordinates[0] + 0.4*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39777
    dof_coordinates[53][1] = 0.2*vertex_coordinates[1] + 0.4*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39778
    dof_coordinates[53][2] = 0.2*vertex_coordinates[2] + 0.4*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39779
    dof_coordinates[54][0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.4*vertex_coordinates[6] + 0.2*vertex_coordinates[9];
 
39780
    dof_coordinates[54][1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.4*vertex_coordinates[7] + 0.2*vertex_coordinates[10];
 
39781
    dof_coordinates[54][2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.4*vertex_coordinates[8] + 0.2*vertex_coordinates[11];
 
39782
    dof_coordinates[55][0] = 0.2*vertex_coordinates[0] + 0.2*vertex_coordinates[3] + 0.2*vertex_coordinates[6] + 0.4*vertex_coordinates[9];
 
39783
    dof_coordinates[55][1] = 0.2*vertex_coordinates[1] + 0.2*vertex_coordinates[4] + 0.2*vertex_coordinates[7] + 0.4*vertex_coordinates[10];
 
39784
    dof_coordinates[55][2] = 0.2*vertex_coordinates[2] + 0.2*vertex_coordinates[5] + 0.2*vertex_coordinates[8] + 0.4*vertex_coordinates[11];
39828
39785
  }
39829
39786
 
39830
39787
  /// Return the number of sub dofmaps (for a mixed element)
39831
 
  virtual unsigned int num_sub_dofmaps() const
 
39788
  virtual std::size_t num_sub_dofmaps() const
39832
39789
  {
39833
39790
    return 0;
39834
39791
  }
39835
39792
 
39836
39793
  /// Create a new dofmap for sub dofmap i (for a mixed element)
39837
 
  virtual ufc::dofmap* create_sub_dofmap(unsigned int i) const
 
39794
  virtual ufc::dofmap* create_sub_dofmap(std::size_t i) const
39838
39795
  {
39839
39796
    return 0;
39840
39797
  }