Gradient assembling over facet fails in mixed formulation with DL trace

Issue #999 new
Jakob Maljaars created an issue

The code below compiles without error on dolfin 2016.1.0 but fails in the more recent dolfin versions (up to and including the v2017.2.0.r4) throwing the error:

File "/usr/local/lib/python2.7/dist-packages/FIAT/hdiv_trace.py", line 219, in tabulate nonzerovals, = itervalues(element.tabulate(order, new_points)) ValueError: too many values to unpack

from dolfin import *

mesh = UnitSquareMesh(10, 10)
n         = FacetNormal(mesh)

# Make mixed function spaces
V           = FiniteElement("DG", mesh.ufl_cell(), 1)
Q_1     = FiniteElement("CG", mesh.ufl_cell(), 1)['facet']
Q_2     = FiniteElement("DGT", mesh.ufl_cell(), 1)

mixed_1 = FunctionSpace(mesh, MixedElement([V,Q_1]))
mixed_2 = FunctionSpace(mesh, MixedElement([V,Q_2]))

print('Assembling gradient term on facet with mixed DG-CG trace')  
u_1, p_1 = TrialFunctions(mixed_1)
w_1, q_1 = TestFunctions(mixed_1)

a_1 =  dot(grad(u_1),n)('+') * w_1('+') * dS 
A_1 = assemble(a_1)

print('Assembling with mixed DG-DG trace')  
u_2, p_2 = TrialFunctions(mixed_2)
w_2, q_2 = TestFunctions(mixed_2)

a_2 =  dot(grad(u_2),n)('+') * w_2('+') * dS 
A_2 = assemble(a_2)

Is this still a left-over from Issue #137?

Comments (0)

  1. Log in to comment