~njansson/dolfin/hpc

« back to all changes in this revision

Viewing changes to demo/function/cpp/Projection.h

  • Committer: Garth N. Wells
  • Date: 2008-03-29 09:34:25 UTC
  • Revision ID: gnw20@cam.ac.uk-20080329093425-3ea2vhjvccq56zvi
Add some basic build & install instructions.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
// This code conforms with the UFC specification version 1.0
2
 
// and was automatically generated by FFC version 0.4.5.
 
2
// and was automatically generated by FFC version 0.4.4.
3
3
//
4
4
// Warning: This code was generated with the option '-l dolfin'
5
5
// and contains DOLFIN-specific wrappers that depend on DOLFIN.
180
180
    
181
181
    // Table(s) of coefficients
182
182
    const static double coefficients0[10][10] = \
183
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
183
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
184
184
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
185
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
185
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
186
186
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
187
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
187
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
188
188
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
189
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
189
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
190
190
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
191
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
191
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
192
192
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
193
193
    
194
194
    // Extract relevant coefficients
396
396
    
397
397
    // Table(s) of coefficients
398
398
    const static double coefficients0[10][10] = \
399
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
399
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
400
400
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
401
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
401
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
402
402
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
403
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
403
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
404
404
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
405
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
405
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
406
406
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
407
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
407
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
408
408
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
409
409
    
410
410
    // Interesting (new) part
426
426
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
427
427
    {5.47722557505166, 0, 0, 0, 0, 0, 0, 0, 0, 0},
428
428
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
429
 
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
 
429
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
430
430
    {2.29128784747792, 7.24568837309472, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
431
 
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063974, 0, 0, 0, 0, 0, 0},
 
431
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063973, 0, 0, 0, 0, 0, 0},
432
432
    {1.87082869338697, 0, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
433
433
    {3.24037034920393, 0, 0, 7.52994023880668, 0, 0, 0, 0, 0, 0},
434
434
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
438
438
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
439
439
    {1.82574185835055, 0, 0, 0, 0, 0, 0, 0, 0, 0},
440
440
    {5.16397779494322, 0, 0, 0, 0, 0, 0, 0, 0, 0},
441
 
    {2.9580398915498, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
442
 
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
 
441
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
 
442
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309961, 0, 0, 0, 0, 0, 0},
443
443
    {1.32287565553229, 0, 3.86436713231718, -0.341565025531986, 0, 0, 0, 0, 0, 0},
444
444
    {1.87082869338697, 7.09929573971954, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
445
445
    {1.08012344973464, 0, 7.09929573971954, 2.50998007960223, 0, 0, 0, 0, 0, 0},
446
 
    {-3.81881307912986, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
 
446
    {-3.81881307912987, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
447
447
    
448
448
    // Compute reference derivatives
449
449
    // Declare pointer to array of derivatives on FIAT element
824
824
    
825
825
    // Table(s) of coefficients
826
826
    const static double coefficients0[10][10] = \
827
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
827
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
828
828
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
829
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
829
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
830
830
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
831
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
831
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
832
832
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
833
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
833
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
834
834
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
835
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
835
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
836
836
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
837
837
    
838
838
    // Extract relevant coefficients
1040
1040
    
1041
1041
    // Table(s) of coefficients
1042
1042
    const static double coefficients0[10][10] = \
1043
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
1043
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
1044
1044
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
1045
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
1045
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
1046
1046
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
1047
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
1047
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
1048
1048
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
1049
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
1049
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
1050
1050
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
1051
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
1051
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
1052
1052
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
1053
1053
    
1054
1054
    // Interesting (new) part
1070
1070
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1071
1071
    {5.47722557505166, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1072
1072
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1073
 
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
 
1073
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
1074
1074
    {2.29128784747792, 7.24568837309472, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
1075
 
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063974, 0, 0, 0, 0, 0, 0},
 
1075
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063973, 0, 0, 0, 0, 0, 0},
1076
1076
    {1.87082869338697, 0, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
1077
1077
    {3.24037034920393, 0, 0, 7.52994023880668, 0, 0, 0, 0, 0, 0},
1078
1078
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
1082
1082
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1083
1083
    {1.82574185835055, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1084
1084
    {5.16397779494322, 0, 0, 0, 0, 0, 0, 0, 0, 0},
1085
 
    {2.9580398915498, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
1086
 
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
 
1085
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
 
1086
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309961, 0, 0, 0, 0, 0, 0},
1087
1087
    {1.32287565553229, 0, 3.86436713231718, -0.341565025531986, 0, 0, 0, 0, 0, 0},
1088
1088
    {1.87082869338697, 7.09929573971954, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
1089
1089
    {1.08012344973464, 0, 7.09929573971954, 2.50998007960223, 0, 0, 0, 0, 0, 0},
1090
 
    {-3.81881307912986, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
 
1090
    {-3.81881307912987, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
1091
1091
    
1092
1092
    // Compute reference derivatives
1093
1093
    // Declare pointer to array of derivatives on FIAT element
1385
1385
  // Return the geometric dimension of the coordinates this dof map provides
1386
1386
  virtual unsigned int geometric_dimension() const
1387
1387
  {
1388
 
    return 3;
 
1388
    throw std::runtime_error("Not implemented (introduced in UFC v1.1).");
1389
1389
  }
1390
1390
 
1391
1391
  /// Return the number of dofs on each cell facet
1602
1602
  // Return the geometric dimension of the coordinates this dof map provides
1603
1603
  virtual unsigned int geometric_dimension() const
1604
1604
  {
1605
 
    return 3;
 
1605
    throw std::runtime_error("Not implemented (introduced in UFC v1.1).");
1606
1606
  }
1607
1607
 
1608
1608
  /// Return the number of dofs on each cell facet
1793
1793
    
1794
1794
    // Compute element tensor
1795
1795
    A[0] = 0.00238095238095238*G0_;
1796
 
    A[1] = 0.000396825396825395*G0_;
1797
 
    A[2] = 0.000396825396825396*G0_;
 
1796
    A[1] = 0.000396825396825396*G0_;
 
1797
    A[2] = 0.000396825396825397*G0_;
1798
1798
    A[3] = 0.000396825396825397*G0_;
1799
1799
    A[4] = -0.00238095238095238*G0_;
1800
1800
    A[5] = -0.00238095238095238*G0_;
1801
1801
    A[6] = -0.00238095238095238*G0_;
1802
 
    A[7] = -0.00158730158730158*G0_;
1803
 
    A[8] = -0.00158730158730158*G0_;
1804
 
    A[9] = -0.00158730158730158*G0_;
1805
 
    A[10] = 0.000396825396825395*G0_;
 
1802
    A[7] = -0.00158730158730159*G0_;
 
1803
    A[8] = -0.00158730158730159*G0_;
 
1804
    A[9] = -0.00158730158730159*G0_;
 
1805
    A[10] = 0.000396825396825397*G0_;
1806
1806
    A[11] = 0.00238095238095238*G0_;
1807
1807
    A[12] = 0.000396825396825396*G0_;
1808
 
    A[13] = 0.000396825396825397*G0_;
 
1808
    A[13] = 0.000396825396825396*G0_;
1809
1809
    A[14] = -0.00238095238095238*G0_;
1810
1810
    A[15] = -0.00158730158730158*G0_;
1811
1811
    A[16] = -0.00158730158730158*G0_;
1812
1812
    A[17] = -0.00238095238095238*G0_;
1813
 
    A[18] = -0.00238095238095237*G0_;
 
1813
    A[18] = -0.00238095238095238*G0_;
1814
1814
    A[19] = -0.00158730158730158*G0_;
1815
 
    A[20] = 0.000396825396825396*G0_;
 
1815
    A[20] = 0.000396825396825397*G0_;
1816
1816
    A[21] = 0.000396825396825396*G0_;
1817
1817
    A[22] = 0.00238095238095238*G0_;
1818
1818
    A[23] = 0.000396825396825397*G0_;
1820
1820
    A[25] = -0.00238095238095238*G0_;
1821
1821
    A[26] = -0.00158730158730159*G0_;
1822
1822
    A[27] = -0.00238095238095238*G0_;
1823
 
    A[28] = -0.00158730158730158*G0_;
 
1823
    A[28] = -0.00158730158730159*G0_;
1824
1824
    A[29] = -0.00238095238095238*G0_;
1825
1825
    A[30] = 0.000396825396825397*G0_;
1826
 
    A[31] = 0.000396825396825397*G0_;
 
1826
    A[31] = 0.000396825396825396*G0_;
1827
1827
    A[32] = 0.000396825396825397*G0_;
1828
1828
    A[33] = 0.00238095238095238*G0_;
1829
1829
    A[34] = -0.00158730158730159*G0_;
1838
1838
    A[43] = -0.00158730158730159*G0_;
1839
1839
    A[44] = 0.0126984126984127*G0_;
1840
1840
    A[45] = 0.00634920634920635*G0_;
1841
 
    A[46] = 0.00634920634920635*G0_;
 
1841
    A[46] = 0.00634920634920634*G0_;
1842
1842
    A[47] = 0.00634920634920634*G0_;
1843
1843
    A[48] = 0.00634920634920634*G0_;
1844
1844
    A[49] = 0.00317460317460317*G0_;
1856
1856
    A[61] = -0.00158730158730158*G0_;
1857
1857
    A[62] = -0.00158730158730159*G0_;
1858
1858
    A[63] = -0.00238095238095238*G0_;
1859
 
    A[64] = 0.00634920634920635*G0_;
 
1859
    A[64] = 0.00634920634920634*G0_;
1860
1860
    A[65] = 0.00634920634920635*G0_;
1861
1861
    A[66] = 0.0126984126984127*G0_;
1862
1862
    A[67] = 0.00317460317460317*G0_;
1863
1863
    A[68] = 0.00634920634920634*G0_;
1864
1864
    A[69] = 0.00634920634920634*G0_;
1865
 
    A[70] = -0.00158730158730158*G0_;
 
1865
    A[70] = -0.00158730158730159*G0_;
1866
1866
    A[71] = -0.00238095238095238*G0_;
1867
1867
    A[72] = -0.00238095238095238*G0_;
1868
1868
    A[73] = -0.00158730158730159*G0_;
1872
1872
    A[77] = 0.0126984126984127*G0_;
1873
1873
    A[78] = 0.00634920634920634*G0_;
1874
1874
    A[79] = 0.00634920634920634*G0_;
1875
 
    A[80] = -0.00158730158730158*G0_;
1876
 
    A[81] = -0.00238095238095237*G0_;
1877
 
    A[82] = -0.00158730158730158*G0_;
 
1875
    A[80] = -0.00158730158730159*G0_;
 
1876
    A[81] = -0.00238095238095238*G0_;
 
1877
    A[82] = -0.00158730158730159*G0_;
1878
1878
    A[83] = -0.00238095238095238*G0_;
1879
1879
    A[84] = 0.00634920634920634*G0_;
1880
1880
    A[85] = 0.00317460317460317*G0_;
1882
1882
    A[87] = 0.00634920634920634*G0_;
1883
1883
    A[88] = 0.0126984126984127*G0_;
1884
1884
    A[89] = 0.00634920634920634*G0_;
1885
 
    A[90] = -0.00158730158730158*G0_;
 
1885
    A[90] = -0.00158730158730159*G0_;
1886
1886
    A[91] = -0.00158730158730158*G0_;
1887
1887
    A[92] = -0.00238095238095238*G0_;
1888
1888
    A[93] = -0.00238095238095238*G0_;
1930
1930
  /// Return a string identifying the form
1931
1931
  virtual const char* signature() const
1932
1932
  {
1933
 
    return " | vi0[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]*vi1[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]*dX(0)";
 
1933
    return " | vi0*vi1*dX(0)";
1934
1934
  }
1935
1935
 
1936
1936
  /// Return the rank of the global tensor (r)
2181
2181
    
2182
2182
    // Table(s) of coefficients
2183
2183
    const static double coefficients0[10][10] = \
2184
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
2184
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
2185
2185
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
2186
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
2186
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
2187
2187
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
2188
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
2188
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
2189
2189
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
2190
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
2190
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
2191
2191
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
2192
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
2192
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
2193
2193
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
2194
2194
    
2195
2195
    // Extract relevant coefficients
2397
2397
    
2398
2398
    // Table(s) of coefficients
2399
2399
    const static double coefficients0[10][10] = \
2400
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
2400
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
2401
2401
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
2402
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
2402
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
2403
2403
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
2404
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
2404
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
2405
2405
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
2406
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
2406
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
2407
2407
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
2408
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
2408
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
2409
2409
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
2410
2410
    
2411
2411
    // Interesting (new) part
2427
2427
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2428
2428
    {5.47722557505166, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2429
2429
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2430
 
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
 
2430
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
2431
2431
    {2.29128784747792, 7.24568837309472, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
2432
 
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063974, 0, 0, 0, 0, 0, 0},
 
2432
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063973, 0, 0, 0, 0, 0, 0},
2433
2433
    {1.87082869338697, 0, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
2434
2434
    {3.24037034920393, 0, 0, 7.52994023880668, 0, 0, 0, 0, 0, 0},
2435
2435
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
2439
2439
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2440
2440
    {1.82574185835055, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2441
2441
    {5.16397779494322, 0, 0, 0, 0, 0, 0, 0, 0, 0},
2442
 
    {2.9580398915498, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
2443
 
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
 
2442
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
 
2443
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309961, 0, 0, 0, 0, 0, 0},
2444
2444
    {1.32287565553229, 0, 3.86436713231718, -0.341565025531986, 0, 0, 0, 0, 0, 0},
2445
2445
    {1.87082869338697, 7.09929573971954, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
2446
2446
    {1.08012344973464, 0, 7.09929573971954, 2.50998007960223, 0, 0, 0, 0, 0, 0},
2447
 
    {-3.81881307912986, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
 
2447
    {-3.81881307912987, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
2448
2448
    
2449
2449
    // Compute reference derivatives
2450
2450
    // Declare pointer to array of derivatives on FIAT element
2825
2825
    
2826
2826
    // Table(s) of coefficients
2827
2827
    const static double coefficients0[10][10] = \
2828
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
2828
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
2829
2829
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
2830
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
2830
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
2831
2831
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
2832
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
2832
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
2833
2833
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
2834
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
2834
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
2835
2835
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
2836
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
2836
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
2837
2837
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
2838
2838
    
2839
2839
    // Extract relevant coefficients
3041
3041
    
3042
3042
    // Table(s) of coefficients
3043
3043
    const static double coefficients0[10][10] = \
3044
 
    {{-0.0577350269189625, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.0503952630678969, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
 
3044
    {{-0.0577350269189626, -0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, 0.050395263067897, 0.0290957186981323, 0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
3045
3045
    {-0.0577350269189625, 0.0608580619450185, -0.0351364184463153, -0.0248451997499977, 0.0650600048632355, -0.050395263067897, 0.0290957186981323, -0.0411475599898912, 0.0237565548366599, 0.0167984210226323},
3046
 
    {-0.0577350269189625, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
 
3046
    {-0.0577350269189626, 0, 0.0702728368926307, -0.0248451997499977, 0, 0, 0.0872871560943969, 0, -0.0475131096733199, 0.0167984210226323},
3047
3047
    {-0.0577350269189626, 0, 0, 0.074535599249993, 0, 0, 0, 0, 0, 0.100790526135794},
3048
 
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999907, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
 
3048
    {0.23094010767585, 0, 0.140545673785261, 0.0993807989999906, 0, 0, 0, 0, 0.1187827741833, -0.0671936840905293},
3049
3049
    {0.23094010767585, 0.121716123890037, -0.0702728368926307, 0.0993807989999907, 0, 0, 0, 0.102868899974728, -0.0593913870916499, -0.0671936840905293},
3050
 
    {0.23094010767585, 0.121716123890037, 0.0702728368926307, -0.0993807989999906, 0, 0.100790526135794, -0.087287156094397, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
3050
    {0.23094010767585, 0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, 0.100790526135794, -0.0872871560943969, -0.0205737799949456, -0.01187827741833, 0.0167984210226323},
3051
3051
    {0.23094010767585, -0.121716123890037, -0.0702728368926306, 0.0993807989999906, 0, 0, 0, -0.102868899974728, -0.0593913870916499, -0.0671936840905293},
3052
 
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999906, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
 
3052
    {0.23094010767585, -0.121716123890037, 0.0702728368926306, -0.0993807989999907, 0, -0.100790526135794, -0.0872871560943969, 0.0205737799949456, -0.01187827741833, 0.0167984210226323},
3053
3053
    {0.23094010767585, 0, -0.140545673785261, -0.0993807989999906, -0.130120009726471, 0, 0.0290957186981323, 0, 0.02375655483666, 0.0167984210226323}};
3054
3054
    
3055
3055
    // Interesting (new) part
3071
3071
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3072
3072
    {5.47722557505166, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3073
3073
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3074
 
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
 
3074
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
3075
3075
    {2.29128784747792, 7.24568837309472, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
3076
 
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063974, 0, 0, 0, 0, 0, 0},
 
3076
    {-2.64575131106459, 0, 9.66091783079296, 0.683130051063973, 0, 0, 0, 0, 0, 0},
3077
3077
    {1.87082869338697, 0, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
3078
3078
    {3.24037034920393, 0, 0, 7.52994023880668, 0, 0, 0, 0, 0, 0},
3079
3079
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
3083
3083
    {3.16227766016838, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3084
3084
    {1.82574185835055, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3085
3085
    {5.16397779494322, 0, 0, 0, 0, 0, 0, 0, 0, 0},
3086
 
    {2.9580398915498, 5.61248608016091, -1.08012344973464, -0.763762615825974, 0, 0, 0, 0, 0, 0},
3087
 
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309962, 0, 0, 0, 0, 0, 0},
 
3086
    {2.95803989154981, 5.61248608016091, -1.08012344973464, -0.763762615825973, 0, 0, 0, 0, 0, 0},
 
3087
    {2.29128784747792, 1.44913767461894, 4.18330013267038, -0.591607978309961, 0, 0, 0, 0, 0, 0},
3088
3088
    {1.32287565553229, 0, 3.86436713231718, -0.341565025531986, 0, 0, 0, 0, 0, 0},
3089
3089
    {1.87082869338697, 7.09929573971954, 0, 4.34741302385683, 0, 0, 0, 0, 0, 0},
3090
3090
    {1.08012344973464, 0, 7.09929573971954, 2.50998007960223, 0, 0, 0, 0, 0, 0},
3091
 
    {-3.81881307912986, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
 
3091
    {-3.81881307912987, 0, 0, 8.87411967464942, 0, 0, 0, 0, 0, 0}};
3092
3092
    
3093
3093
    // Compute reference derivatives
3094
3094
    // Declare pointer to array of derivatives on FIAT element
3386
3386
  // Return the geometric dimension of the coordinates this dof map provides
3387
3387
  virtual unsigned int geometric_dimension() const
3388
3388
  {
3389
 
    return 3;
 
3389
    throw std::runtime_error("Not implemented (introduced in UFC v1.1).");
3390
3390
  }
3391
3391
 
3392
3392
  /// Return the number of dofs on each cell facet
3603
3603
  // Return the geometric dimension of the coordinates this dof map provides
3604
3604
  virtual unsigned int geometric_dimension() const
3605
3605
  {
3606
 
    return 3;
 
3606
    throw std::runtime_error("Not implemented (introduced in UFC v1.1).");
3607
3607
  }
3608
3608
 
3609
3609
  /// Return the number of dofs on each cell facet
3814
3814
    const double G0_9 = det*c0_0_0_9;
3815
3815
    
3816
3816
    // Compute element tensor
3817
 
    A[0] = 0.00238095238095238*G0_0 + 0.000396825396825395*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825397*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730158*G0_7 - 0.00158730158730158*G0_8 - 0.00158730158730158*G0_9;
3818
 
    A[1] = 0.000396825396825395*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825397*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095237*G0_8 - 0.00158730158730158*G0_9;
3819
 
    A[2] = 0.000396825396825396*G0_0 + 0.000396825396825396*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825397*G0_3 - 0.00158730158730159*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730159*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730158*G0_8 - 0.00238095238095238*G0_9;
3820
 
    A[3] = 0.000396825396825397*G0_0 + 0.000396825396825397*G0_1 + 0.000396825396825397*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
3821
 
    A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920634*G0_8 + 0.00317460317460317*G0_9;
 
3817
    A[0] = 0.00238095238095238*G0_0 + 0.000396825396825396*G0_1 + 0.000396825396825397*G0_2 + 0.000396825396825397*G0_3 - 0.00238095238095238*G0_4 - 0.00238095238095238*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00158730158730159*G0_8 - 0.00158730158730159*G0_9;
 
3818
    A[1] = 0.000396825396825397*G0_0 + 0.00238095238095238*G0_1 + 0.000396825396825396*G0_2 + 0.000396825396825396*G0_3 - 0.00238095238095238*G0_4 - 0.00158730158730158*G0_5 - 0.00158730158730158*G0_6 - 0.00238095238095238*G0_7 - 0.00238095238095238*G0_8 - 0.00158730158730158*G0_9;
 
3819
    A[2] = 0.000396825396825397*G0_0 + 0.000396825396825396*G0_1 + 0.00238095238095238*G0_2 + 0.000396825396825397*G0_3 - 0.00158730158730159*G0_4 - 0.00238095238095238*G0_5 - 0.00158730158730159*G0_6 - 0.00238095238095238*G0_7 - 0.00158730158730159*G0_8 - 0.00238095238095238*G0_9;
 
3820
    A[3] = 0.000396825396825397*G0_0 + 0.000396825396825396*G0_1 + 0.000396825396825397*G0_2 + 0.00238095238095238*G0_3 - 0.00158730158730159*G0_4 - 0.00158730158730159*G0_5 - 0.00238095238095238*G0_6 - 0.00158730158730159*G0_7 - 0.00238095238095238*G0_8 - 0.00238095238095238*G0_9;
 
3821
    A[4] = -0.00238095238095238*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00158730158730159*G0_3 + 0.0126984126984127*G0_4 + 0.00634920634920635*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920634*G0_8 + 0.00317460317460317*G0_9;
3822
3822
    A[5] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920635*G0_4 + 0.0126984126984127*G0_5 + 0.00634920634920635*G0_6 + 0.00634920634920634*G0_7 + 0.00317460317460317*G0_8 + 0.00634920634920634*G0_9;
3823
 
    A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920635*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920634*G0_9;
3824
 
    A[7] = -0.00158730158730158*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920634*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920634*G0_9;
3825
 
    A[8] = -0.00158730158730158*G0_0 - 0.00238095238095237*G0_1 - 0.00158730158730158*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00317460317460317*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920634*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920634*G0_9;
3826
 
    A[9] = -0.00158730158730158*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920634*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920634*G0_8 + 0.0126984126984127*G0_9;
 
3823
    A[6] = -0.00238095238095238*G0_0 - 0.00158730158730158*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920635*G0_5 + 0.0126984126984127*G0_6 + 0.00317460317460317*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920634*G0_9;
 
3824
    A[7] = -0.00158730158730159*G0_0 - 0.00238095238095238*G0_1 - 0.00238095238095238*G0_2 - 0.00158730158730159*G0_3 + 0.00634920634920634*G0_4 + 0.00634920634920634*G0_5 + 0.00317460317460317*G0_6 + 0.0126984126984127*G0_7 + 0.00634920634920634*G0_8 + 0.00634920634920634*G0_9;
 
3825
    A[8] = -0.00158730158730159*G0_0 - 0.00238095238095238*G0_1 - 0.00158730158730159*G0_2 - 0.00238095238095238*G0_3 + 0.00634920634920634*G0_4 + 0.00317460317460317*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920634*G0_7 + 0.0126984126984127*G0_8 + 0.00634920634920634*G0_9;
 
3826
    A[9] = -0.00158730158730159*G0_0 - 0.00158730158730158*G0_1 - 0.00238095238095238*G0_2 - 0.00238095238095238*G0_3 + 0.00317460317460317*G0_4 + 0.00634920634920634*G0_5 + 0.00634920634920634*G0_6 + 0.00634920634920634*G0_7 + 0.00634920634920634*G0_8 + 0.0126984126984127*G0_9;
3827
3827
  }
3828
3828
 
3829
3829
};
3862
3862
  /// Return a string identifying the form
3863
3863
  virtual const char* signature() const
3864
3864
  {
3865
 
    return "w0_a0[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | vi0[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]*va0[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]*dX(0)";
 
3865
    return "w0_a0 | vi0*va0*dX(0)";
3866
3866
  }
3867
3867
 
3868
3868
  /// Return the rank of the global tensor (r)