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
-- http://www.imperial.ac.uk/people/colin.cotter www.cambridge.org/9781107663916
participants (1)
-
Colin Cotter