On Saturday 17 October 2009 21:08:14 Garth N. Wells wrote: > Garth N. Wells wrote: > > DOLFIN wrote: > >> One or more new changesets pushed to the primary dolfin repository. > >> A short summary of the last three changesets is included below. > >> > >> changeset: 7378:e5c921e0293a > >> tag: tip > >> user: "Johan Hake <h...@simula.no>" > >> date: Sat Oct 17 15:45:36 2009 +0200 > >> files: site-packages/dolfin/function.py > >> site-packages/dolfin/functionspace.py description: > >> Make Mixed FunctionSpace access more consistant. > >> - All methods are now defined in FunctionSpaceBase. > >> - We now do not save any spaces in MixedFunctionSpace > > > > This change broke my code. See below. > > Seems that the problem arises with spaces which are restricted, > > V = FunctionSpace(mesh, "CG", 1, "facet")
This is an error in the generated FFC code. ufc::finite_element::signature() should return a string that can be executed in a ufl namespace and then generate the corresponding ufl.FiniteElement. For a restricted element the signature returns: "FiniteElement('Lagrange', 'triangle', 1)|_{<interval of degree 1>}" where it should return: "ElementRestriction(FiniteElement('Lagrange', Cell('triangle', 1, Space(2)), 1), Cell('interval', 1, Space(1)))" Johan > Garth > > > Garth > > > > File "solver.py", line 96, in solve > > (uhat, uu) = Uh.split() > > File > > "/home/garth/code/fenics/dolfin/dolfin-all/local/lib/python2.6/site-packa > >ges/dolfin/function.py", line 150, in split > > return tuple(self._sub(i,deepcopy) for i in > > xrange(self._V.num_sub_spaces())) > > File > > "/home/garth/code/fenics/dolfin/dolfin-all/local/lib/python2.6/site-packa > >ges/dolfin/function.py", line 150, in <genexpr> > > return tuple(self._sub(i,deepcopy) for i in > > xrange(self._V.num_sub_spaces())) > > File > > "/home/garth/code/fenics/dolfin/dolfin-all/local/lib/python2.6/site-packa > >ges/dolfin/function.py", line 135, in _sub > > return Function(self, i) > > File > > "/home/garth/code/fenics/dolfin/dolfin-all/local/lib/python2.6/site-packa > >ges/dolfin/function.py", line 80, in __init__ > > self._V = V.sub(i) > > File > > "/home/garth/code/fenics/dolfin/dolfin-all/local/lib/python2.6/site-packa > >ges/dolfin/functionspace.py", line 88, in sub > > return FunctionSpaceFromCpp(cpp.SubSpace(self,i)) > > File > > "/home/garth/code/fenics/dolfin/dolfin-all/local/lib/python2.6/site-packa > >ges/dolfin/functionspace.py", line 101, in __init__ > > self._ufl_element = eval(cppV.element().signature(), ufl.__dict__) > > File "<string>", line 1 > > FiniteElement('Lagrange', 'triangle', 1)|_{<interval of degree 1>} > > > >> changeset: 7377:40cca61143c6 > >> user: "Garth N. Wells <gn...@cam.ac.uk>" > >> date: Sat Oct 17 13:24:47 2009 +0100 > >> files: dolfin/mesh/SubDomain.h > >> description: > >> Small formatting fix. > >> > >> > >> changeset: 7376:8ee974ed5f7e > >> user: Anders Logg <l...@simula.no> > >> date: Sat Oct 17 00:05:34 2009 +0200 > >> files: dolfin/function/Function.cpp > >> description: > >> Remove unnecessary lines in Function::eval noted by Marc S. > >> > >> ---------------------------------------------------------------------- > >> For more details, visit http://www.fenics.org/hg/dolfin > >> _______________________________________________ > >> DOLFIN-dev mailing list > >> DOLFIN-dev@fenics.org > >> http://www.fenics.org/mailman/listinfo/dolfin-dev > > > > _______________________________________________ > > DOLFIN-dev mailing list > > DOLFIN-dev@fenics.org > > http://www.fenics.org/mailman/listinfo/dolfin-dev > > _______________________________________________ > DOLFIN-dev mailing list > DOLFIN-dev@fenics.org > http://www.fenics.org/mailman/listinfo/dolfin-dev > _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev