Yes, it looks like you are correct Miroslav. I suppose the line you link to should add a self check too. Changing that line to
if f._ufl_is_terminal_ and f != v: fixes the problem. Is this fix something we just can add Martin? Johan On Tue, Oct 14, 2014 at 10:14 AM, Miroslav Kuchta <[email protected]> wrote: > Hi, this seems to be due the simplification made here > <https://github.com/FEniCS/ufl/blob/master/ufl/differentiation.py#L87> > > from dolfin import * > > mesh = UnitSquareMesh(10, 10) > V = FunctionSpace(mesh, "CG", 1) > u = Function(V) > > # 0 > print u._ufl_is_terminal_ > print diff(u, u) > > # 1 > print (Constant(1)*u)._ufl_is_terminal_ > plot(diff(Constant(1)*u, u), mesh=mesh) > > # 1 > u._ufl_is_terminal_ = False > plot(diff(u, u), mesh=mesh) > interactive() > > Regards, Miro > > On 10/13/2014 10:32 PM, Johan Hake wrote: > > from dolfin import * > mesh = UnitSquareMesh(10, 10) > V = FunctionSpace(mesh, "CG", 1) > u = Function(V) > print diff(u, u) > > >
_______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
