Don't worry, found it. It was a bug in FIAT, that doesn't behave right if the DOF is the integral of a scalar function.

all the best
--cjc

On 21 August 2015 at 17:52, Cotter, Colin J <colin.cotter@imperial.ac.uk> wrote:
Dear all,
  I realised that the Taylor basis used in FEM actually doesn't use the function evaluation for the lowest order part, it uses the element mean of the function. I
started a new branch of FIAT to try to fix this, taylor-dg, but something I did is wrong.

When running the test (just execute FIAT/discontinuous_taylor.py), I get

Traceback (most recent call last):
  File "discontinuous_taylor.py", line 70, in <module>
    element = DiscontinuousTaylor(T, 1)
  File "discontinuous_taylor.py", line 65, in DiscontinuousTaylor
    return HigherOrderDiscontinuousTaylor( ref_el, degree )
  File "discontinuous_taylor.py", line 59, in __init__
    finite_element.FiniteElement.__init__( self, poly_set, dual, degree, formdegree )
  File "/home/cjc1/firedrake/fiat/FIAT/finite_element.py", line 47, in __init__
    dualmat = dual.to_riesz( poly_set )
  File "/home/cjc1/firedrake/fiat/FIAT/dual_set.py", line 64, in to_riesz
    self.mat[i][:] = self.nodes[i].to_riesz( poly_set )
  File "/home/cjc1/firedrake/fiat/FIAT/functional.py", line 330, in to_riesz
    result[self.comp, :] = numpy.dot(bfs, wts)
IndexError: too many indices for array

Can anyone see what is wrong?

all the best
--cjc



--
http://www.imperial.ac.uk/people/colin.cotter

www.cambridge.org/9781107663916