~ubuntu-branches/ubuntu/raring/ffc/raring

« back to all changes in this revision

Viewing changes to test/regression/references/r_auto/AlgebraOperators.h

  • Committer: Package Import Robot
  • Author(s): Johannes Ring
  • Date: 2011-10-26 17:52:20 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20111026175220-ope1dzqv4jn2b8pq
Tags: 1.0-beta2-1
* New upstream release. This release includes some performance
  improvements for evaluating basis functions. It also adds support
  for Bessel functions and error functions.
* debian/control: Bump version numbers for python-ufc, python-fiat,
  python-instant, and python-ufl.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// This code conforms with the UFC specification version 2.0.0
2
 
// and was automatically generated by FFC version 1.0-beta.
 
1
// This code conforms with the UFC specification version 2.0.2
 
2
// and was automatically generated by FFC version 1.0-beta+.
3
3
// 
4
4
// This code was generated with the following parameters:
5
5
// 
130
130
      double basisvalues[3] = {0.0, 0.0, 0.0};
131
131
      
132
132
      // Declare helper variables.
133
 
      unsigned int rr = 0;
134
 
      unsigned int ss = 0;
135
133
      double tmp0 = (1.0 + Y + 2.0*X)/2.0;
136
134
      
137
135
      // Compute basisvalues.
138
136
      basisvalues[0] = 1.0;
139
137
      basisvalues[1] = tmp0;
140
 
      for (unsigned int r = 0; r < 1; r++)
141
 
      {
142
 
        rr = (r + 1)*(r + 1 + 1)/2 + 1;
143
 
        ss = r*(r + 1)/2;
144
 
        basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
145
 
      }// end loop over 'r'
146
 
      for (unsigned int r = 0; r < 2; r++)
147
 
      {
148
 
        for (unsigned int s = 0; s < 2 - r; s++)
149
 
        {
150
 
          rr = (r + s)*(r + s + 1)/2 + s;
151
 
          basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
152
 
        }// end loop over 's'
153
 
      }// end loop over 'r'
 
138
      basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
 
139
      basisvalues[0] *= std::sqrt(0.5);
 
140
      basisvalues[2] *= std::sqrt(1.0);
 
141
      basisvalues[1] *= std::sqrt(3.0);
154
142
      
155
143
      // Table(s) of coefficients.
156
144
      static const double coefficients0[3] = \
170
158
      double basisvalues[3] = {0.0, 0.0, 0.0};
171
159
      
172
160
      // Declare helper variables.
173
 
      unsigned int rr = 0;
174
 
      unsigned int ss = 0;
175
161
      double tmp0 = (1.0 + Y + 2.0*X)/2.0;
176
162
      
177
163
      // Compute basisvalues.
178
164
      basisvalues[0] = 1.0;
179
165
      basisvalues[1] = tmp0;
180
 
      for (unsigned int r = 0; r < 1; r++)
181
 
      {
182
 
        rr = (r + 1)*(r + 1 + 1)/2 + 1;
183
 
        ss = r*(r + 1)/2;
184
 
        basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
185
 
      }// end loop over 'r'
186
 
      for (unsigned int r = 0; r < 2; r++)
187
 
      {
188
 
        for (unsigned int s = 0; s < 2 - r; s++)
189
 
        {
190
 
          rr = (r + s)*(r + s + 1)/2 + s;
191
 
          basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
192
 
        }// end loop over 's'
193
 
      }// end loop over 'r'
 
166
      basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
 
167
      basisvalues[0] *= std::sqrt(0.5);
 
168
      basisvalues[2] *= std::sqrt(1.0);
 
169
      basisvalues[1] *= std::sqrt(3.0);
194
170
      
195
171
      // Table(s) of coefficients.
196
172
      static const double coefficients0[3] = \
210
186
      double basisvalues[3] = {0.0, 0.0, 0.0};
211
187
      
212
188
      // Declare helper variables.
213
 
      unsigned int rr = 0;
214
 
      unsigned int ss = 0;
215
189
      double tmp0 = (1.0 + Y + 2.0*X)/2.0;
216
190
      
217
191
      // Compute basisvalues.
218
192
      basisvalues[0] = 1.0;
219
193
      basisvalues[1] = tmp0;
220
 
      for (unsigned int r = 0; r < 1; r++)
221
 
      {
222
 
        rr = (r + 1)*(r + 1 + 1)/2 + 1;
223
 
        ss = r*(r + 1)/2;
224
 
        basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
225
 
      }// end loop over 'r'
226
 
      for (unsigned int r = 0; r < 2; r++)
227
 
      {
228
 
        for (unsigned int s = 0; s < 2 - r; s++)
229
 
        {
230
 
          rr = (r + s)*(r + s + 1)/2 + s;
231
 
          basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
232
 
        }// end loop over 's'
233
 
      }// end loop over 'r'
 
194
      basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
 
195
      basisvalues[0] *= std::sqrt(0.5);
 
196
      basisvalues[2] *= std::sqrt(1.0);
 
197
      basisvalues[1] *= std::sqrt(3.0);
234
198
      
235
199
      // Table(s) of coefficients.
236
200
      static const double coefficients0[3] = \
369
333
      double basisvalues[3] = {0.0, 0.0, 0.0};
370
334
      
371
335
      // Declare helper variables.
372
 
      unsigned int rr = 0;
373
 
      unsigned int ss = 0;
374
336
      double tmp0 = (1.0 + Y + 2.0*X)/2.0;
375
337
      
376
338
      // Compute basisvalues.
377
339
      basisvalues[0] = 1.0;
378
340
      basisvalues[1] = tmp0;
379
 
      for (unsigned int r = 0; r < 1; r++)
380
 
      {
381
 
        rr = (r + 1)*(r + 1 + 1)/2 + 1;
382
 
        ss = r*(r + 1)/2;
383
 
        basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
384
 
      }// end loop over 'r'
385
 
      for (unsigned int r = 0; r < 2; r++)
386
 
      {
387
 
        for (unsigned int s = 0; s < 2 - r; s++)
388
 
        {
389
 
          rr = (r + s)*(r + s + 1)/2 + s;
390
 
          basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
391
 
        }// end loop over 's'
392
 
      }// end loop over 'r'
 
341
      basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
 
342
      basisvalues[0] *= std::sqrt(0.5);
 
343
      basisvalues[2] *= std::sqrt(1.0);
 
344
      basisvalues[1] *= std::sqrt(3.0);
393
345
      
394
346
      // Table(s) of coefficients.
395
347
      static const double coefficients0[3] = \
527
479
      double basisvalues[3] = {0.0, 0.0, 0.0};
528
480
      
529
481
      // Declare helper variables.
530
 
      unsigned int rr = 0;
531
 
      unsigned int ss = 0;
532
482
      double tmp0 = (1.0 + Y + 2.0*X)/2.0;
533
483
      
534
484
      // Compute basisvalues.
535
485
      basisvalues[0] = 1.0;
536
486
      basisvalues[1] = tmp0;
537
 
      for (unsigned int r = 0; r < 1; r++)
538
 
      {
539
 
        rr = (r + 1)*(r + 1 + 1)/2 + 1;
540
 
        ss = r*(r + 1)/2;
541
 
        basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
542
 
      }// end loop over 'r'
543
 
      for (unsigned int r = 0; r < 2; r++)
544
 
      {
545
 
        for (unsigned int s = 0; s < 2 - r; s++)
546
 
        {
547
 
          rr = (r + s)*(r + s + 1)/2 + s;
548
 
          basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
549
 
        }// end loop over 's'
550
 
      }// end loop over 'r'
 
487
      basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
 
488
      basisvalues[0] *= std::sqrt(0.5);
 
489
      basisvalues[2] *= std::sqrt(1.0);
 
490
      basisvalues[1] *= std::sqrt(3.0);
551
491
      
552
492
      // Table(s) of coefficients.
553
493
      static const double coefficients0[3] = \
685
625
      double basisvalues[3] = {0.0, 0.0, 0.0};
686
626
      
687
627
      // Declare helper variables.
688
 
      unsigned int rr = 0;
689
 
      unsigned int ss = 0;
690
628
      double tmp0 = (1.0 + Y + 2.0*X)/2.0;
691
629
      
692
630
      // Compute basisvalues.
693
631
      basisvalues[0] = 1.0;
694
632
      basisvalues[1] = tmp0;
695
 
      for (unsigned int r = 0; r < 1; r++)
696
 
      {
697
 
        rr = (r + 1)*(r + 1 + 1)/2 + 1;
698
 
        ss = r*(r + 1)/2;
699
 
        basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
700
 
      }// end loop over 'r'
701
 
      for (unsigned int r = 0; r < 2; r++)
702
 
      {
703
 
        for (unsigned int s = 0; s < 2 - r; s++)
704
 
        {
705
 
          rr = (r + s)*(r + s + 1)/2 + s;
706
 
          basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
707
 
        }// end loop over 's'
708
 
      }// end loop over 'r'
 
633
      basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
 
634
      basisvalues[0] *= std::sqrt(0.5);
 
635
      basisvalues[2] *= std::sqrt(1.0);
 
636
      basisvalues[1] *= std::sqrt(3.0);
709
637
      
710
638
      // Table(s) of coefficients.
711
639
      static const double coefficients0[3] = \
1314
1242
    // Optimisations: ('eliminate zeros', False), ('ignore ones', False), ('ignore zero tables', False), ('optimisation', False), ('remove zero terms', False)
1315
1243
    
1316
1244
    // Loop quadrature points for integral.
1317
 
    // Number of operations to compute element tensor for following IP loop = 618
 
1245
    // Number of operations to compute element tensor for following IP loop = 714
1318
1246
    for (unsigned int ip = 0; ip < 6; ip++)
1319
1247
    {
1320
1248
      
1329
1257
        F1 += FE0[ip][r]*w[1][r];
1330
1258
      }// end loop over 'r'
1331
1259
      
1332
 
      // Number of operations for primary indices: 91
1333
 
      // Number of operations to compute entry: 91
1334
 
      A[0] += (std::abs(F0/(F1)) + ((std::abs((F0 + (-1.0)*F1)) + ((std::pow(F0/(F1), F0*F1) + (std::pow(F0*F1, F0/(F1)) + (std::pow((F0 + (-1.0)*F1), F0*F1) + ((std::pow(F0/(F1), F0) + (std::pow(F0*F1, F0) + (std::pow((F0 + (-1.0)*F1), F0) + (std::pow(F0, F1) + (std::pow(F0/(F1), 2.2) + ((std::pow((F0 + (-1.0)*F1), 2.2) + (((F0*F1*F0*F1 + ((F0*F0 + (((((F0 + (-1.0)*F1)/(F0/(F1)) + ((((5.0/(F0*F1) + (5.0/(F0) + (((F0*((F0 + (-1.0)*F1)) + ((5.0*F0 + 5.0*F0*F1) + 5.0*F0/(F1))) + F0*F1*((F0 + (-1.0)*F1))) + F0/(F1)*((F0 + (-1.0)*F1))))) + 5.0/(F0/(F1))) + (F0 + (-1.0)*F1)/(F0)) + (F0 + (-1.0)*F1)/(F0*F1))) + (F0 + (-1.0)*F1)/(5.0)) + (F0 + (-1.0)*F1)/(5.0)) + (F0 + (-1.0)*F1)/(5.0))) + ((F0 + (-1.0)*F1))*((F0 + (-1.0)*F1)))) + F0/(F1)*F0/(F1)) + std::pow(F1, 2.2))) + std::pow(F0*F1, 2.2))))))) + std::pow(F0, (F0 + (-1.0)*F1)))))) + std::abs(F0))) + std::abs(F0*F1)))*W6[ip]*det;
 
1260
      // Number of operations for primary indices: 107
 
1261
      // Number of operations to compute entry: 107
 
1262
      A[0] += ((std::abs(F0*F1) + (((std::pow(F0/(F1), F0*F1) + (std::pow(F0*F1, F0/(F1)) + (((std::pow(F0/(F1), F0) + (std::pow(F0*F1, F0) + (std::pow(((-1.0)*F1 + 3.0*F0), F0) + (std::pow(F0, F1) + (std::pow(F0/(F1), 2.2) + ((std::pow(((-1.0)*F1 + 3.0*F0), 2.2) + ((F0/(F1)*F0/(F1) + (((F0*F0 + ((((-1.0)*F1 + 3.0*F0)/(5.0) + ((((-1.0)*F1 + 3.0*F0)/(F0/(F1)) + ((((-1.0)*F1 + 3.0*F0)/(F0) + (5.0/(F0/(F1)) + (5.0/(F0*F1) + (5.0/(F0) + ((F0*F1*(((-1.0)*F1 + 3.0*F0)) + (((5.0*F0 + 5.0*F0*F1) + 5.0*F0/(F1)) + F0*(((-1.0)*F1 + 3.0*F0)))) + F0/(F1)*(((-1.0)*F1 + 3.0*F0))))))) + ((-1.0)*F1 + 3.0*F0)/(F0*F1))) + ((-1.0)*F1 + 3.0*F0)/(5.0))) + ((-1.0)*F1 + 3.0*F0)/(5.0))) + (((-1.0)*F1 + 3.0*F0))*(((-1.0)*F1 + 3.0*F0))) + F0*F1*F0*F1)) + std::pow(F1, 2.2))) + std::pow(F0*F1, 2.2))))))) + std::pow(F0, ((-1.0)*F1 + 3.0*F0))) + std::pow(((-1.0)*F1 + 3.0*F0), F0*F1)))) + std::abs(F0)) + std::abs(((-1.0)*F1 + 3.0*F0)))) + std::abs(F0/(F1)))*W6[ip]*det;
1335
1263
    }// end loop over 'ip'
1336
1264
  }
1337
1265
 
1383
1311
  /// Return a string identifying the form
1384
1312
  virtual const char* signature() const
1385
1313
  {
1386
 
    return "Form([Integral(Sum(Abs(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Abs(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Abs(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Abs(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Power(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), FloatValue(2.2, (), (), {})), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), FloatValue(2.2, (), (), {})), Sum(Power(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), FloatValue(2.2, (), (), {})), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1), FloatValue(2.2, (), (), {})), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), IntValue(2, (), (), {})), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), IntValue(2, (), (), {})), Sum(Power(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(2, (), (), {})), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), IntValue(2, (), (), {})), Sum(Division(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(5, (), (), {})), Sum(Division(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(5, (), (), {})), Sum(Division(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(5, (), (), {})), Sum(Division(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Division(IntValue(5, (), (), {}), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(IntValue(5, (), (), {}), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(IntValue(5, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Product(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Product(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Sum(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Product(IntValue(5, (), (), {}), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Product(IntValue(5, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(5, (), (), {}), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))))))))))))))))))))))))))))))))))))), Measure('cell', 0, None))])";
 
1314
    return "Form([Integral(Sum(Abs(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Abs(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Abs(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Abs(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Power(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), FloatValue(2.2, (), (), {})), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), FloatValue(2.2, (), (), {})), Sum(Power(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), FloatValue(2.2, (), (), {})), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1), FloatValue(2.2, (), (), {})), Sum(Power(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), IntValue(2, (), (), {})), Sum(Power(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), IntValue(2, (), (), {})), Sum(Power(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(2, (), (), {})), Sum(Power(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), IntValue(2, (), (), {})), Sum(Division(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(5, (), (), {})), Sum(Division(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(5, (), (), {})), Sum(Division(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), IntValue(5, (), (), {})), Sum(Division(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Division(IntValue(5, (), (), {}), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(IntValue(5, (), (), {}), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Division(IntValue(5, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Sum(Product(Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Product(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)), Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Sum(Product(IntValue(3, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(-1, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1)))), Sum(Product(IntValue(5, (), (), {}), Division(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))), Sum(Product(IntValue(5, (), (), {}), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0)), Product(IntValue(5, (), (), {}), Product(Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 0), Coefficient(FiniteElement('Lagrange', Cell('triangle', Space(2)), 1, None), 1))))))))))))))))))))))))))))))))))))), Measure('cell', 0, None))])";
1387
1315
  }
1388
1316
 
1389
1317
  /// Return the rank of the global tensor (r)