On 31 Mar 2017, at 15:40, Francis Poulin <fpoulin@uwaterloo.ca> wrote:
Thanks Lawrence.
That sounds very helpful. I update my firedrake and will give it a try.
I thought I understand the difference but I am a bit confused.
Suppose that Z = V1*V2*V3
If I define a trial or test function in Z, say and want to split it, I would have thought i used split(FunctionOnZ). But that does not go over well. What worked in the end is
(a,b,c) = FunctionOnZ
Is this a third way of splitting a function?
Can you show what you tried to do? The following works for me: mesh = ... V = FunctionSpace(mesh, "DG", 0) Q = FunctionSpace(mesh, "DG", 1) W = V*Q w = TestFunction(W) v, q = split(w) In fact, writing v, q = TestFunctions(W) is just a short hand for: v, q = split(TestFunction(W)) Lawrence