Below is a test program that digs a bit deeper. Looks like an FFC issue. Only seems to impact zero and first order elements.
from dolfin import * mesh = UnitSquare(30, 30) V = FunctionSpace(mesh, "DG", 0) v = TestFunction(V)
x = triangle.x vol = Cell(mesh, 0).volume() L = x[0]*v*dx b = assemble(L) fmax = b.max()/Cell(mesh, 0).volume()
# This should be close to 1.0, but it's close to 2.0 print fmax
Below is a test program that digs a bit deeper. Looks like an FFC issue. Only seems to impact zero and first order elements.
from dolfin import *
mesh = UnitSquare(30, 30)
V = FunctionSpace(mesh, "DG", 0)
v = TestFunction(V)
x = triangle.x
vol = Cell(mesh, 0).volume()
L = x[0]*v*dx
b = assemble(L)
fmax = b.max()/Cell(mesh, 0).volume()
# This should be close to 1.0, but it's close to 2.0
print fmax