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