Is it possible to assemble a multilinear form involving functions from different function spaces?
What I would like to do is something along these lines:
mesh = Mesh('mesh.xml')
bmesh = BoundaryMesh(mesh)
V = FunctionSpace(mesh, 'CG', 1)
V_b = FunctionSpace(bmesh, 'CG', 1)
f1 = TrialFunction(V)
f2 = TestFunction(V_b)
ml_form = f1 * f2 * ds
ml_tensor = assemble(ml_form)
where the integration is supposed to be carried out on the surface of the mesh (i.e. the ds
of mesh
, but the dx
of bmesh), and the resulting tensor will not be square.
Is there a way to do this? Obviously the above code cannot work in this form...