On Thursday October 21 2010 01:34:08 Marie Rognes wrote: > On 21. okt. 2010 00:34, Johan Hake wrote: > > Btw: > > > > Is the rank function in ufl borked: > > mesh = UnitSquare(1, 1) > > V = FunctionSpace(mesh, "CG", 1) > > v = TestFunction(V) > > u = Function(V) > > L = u*v*dx > > rank(L) > > => AttributeError: 'Form' object has no attribute 'shape' > > > > or do I need to preprocess the form first? > > rank operates on expr's (not on forms).
Ahh... > An input check might be > appropriate. Yes! > Try this instead > > from ufl.algorithms import compute_form_arities > ranks = compute_form_arities(L) It works on forms, but not on a linearized form du = TrialFunction(V) compute_form_arities(derivative(L, u, du)) => UFLException: Found basis function in ... this is an invalid expression. Johan > -- > Marie > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

