gmarkall/manycore_form_compiler — Issue #50: In branch global-vector-assembly, BasisIndex objects are being constructed with the wrong extent
Author: gmarkall
Created: 2011-12-20 20:57:02+00:00
State: open

E.g. in identity-vector, the Local tensor expressions look like:

localTensor[((i_ele + n_ele * i_r_0) + 3 * n_ele * i_r_1)] = 0.0;

That should be 6 * n_ele * ..., not 3 * n_ele * ...

The root of the problem is that basis indices are only constructed using a count, and they are not given the relevant element for the basis functions that they are iterating over. They need to be passed the element, so that they know whether they are indexing over a FiniteElement, VectorElement etc. to choose the correct upper bound for the index.

(This is next on my list to fix - just keeping track of it here).