Broken handling of coefficients in custom integrals

Issue #53 resolved
Anders Logg (Chalmers) created an issue

Evaluation of coefficients in tabulate_tensor seems to be faulty, in particular loop over r:

for (unsigned int r = 0; r < 3; r++)
{
  F0 += FE0[ip][r]*w[0][r];
} // end loop over 'r'

comes out as:

// Total number of operations to compute function values = 4
for (unsigned int r = 0; r < 1; r++)
{
  F0 += FE0[ip][0]*w[0][0];
} // end loop over 'r'

As a result, evaluation of right-hand sides comes out wrong.

Comments (3)

  1. Anders Logg (Chalmers) reporter

    To reproduce:

    element = FiniteElement("Lagrange", triangle, 1)
    dc0 = dc(0, metadata={"num_cells": 1})
    v = TestFunction(element)
    f = Coefficient(element)
    L = f*v*dc0
    
  2. Log in to comment