-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 22/01/15 15:41, Eike Mueller wrote:
Arrgh, stupid me, the argument should be a dict: {v, v1} -> {v: v1}. But it still complains that it can?t add expressions of different shapes.
Hmm, odd, I do the following, which works afaict: from firedrake import * m = UnitIcosahedralSphereMesh(0) m.init_cell_orientations(Expression(("x[0]", "x[1]", "x[2]"))) RT = FunctionSpace(m, 'RT', 1) DG = FunctionSpace(m, 'DG', 0) W = RT*DG f = Function(RT) g = Function(DG) f.assign(1) g.assign(2) v, q = TestFunctions(W) v1 = TestFunction(RT) q1 = TestFunction(DG) import ufl print assemble(dot(f, v)*dx + g*q*dx).dat.data L1 = ufl.replace(dot(f, v1)*dx, {v1: v}) L2 = ufl.replace(g*q1*dx, {q1: q}) print assemble(L1 + L2).dat.data Cheers, Lawrence -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQEcBAEBAgAGBQJUwR1pAAoJECOc1kQ8PEYvp7wIAIdQNrcPJ/Q8xoVO4BVuXjkU nD1ft85Hb6prZ32NJQ549dqFTYhxKCkJWRrswkwaUewAL4PUmv2mywdV2igfGsxH NWursvetXc7IBlcFLJWB7bxKlTPUM4hEy2lVofVVr8tFrQjDWjU5dFQ3P+bOfx8i xPep8vlUbAzQbkzEPAsEZarFZZ6gYVGDRFJYxtm+bQR0zynxcF1RDq/XF3+lmEcZ yeXoed//+7bb2pCpCCMUD3LkSD3vK3FXyacbQf44E3EcLi6HDCxZoH+sD7ad74eV 1ay2J6MwHwBvmOaDKU2T0P7YgRPbDfjcnHIDvQah3hJkJxnBL7agPeAYdSGAUQ0= =vCrZ -----END PGP SIGNATURE-----