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? Cheers, Francis ------------------ Francis Poulin Associate Professor Department of Applied Mathematics University of Waterloo email: fpoulin@uwaterloo.ca Web: https://uwaterloo.ca/poulin-research-group/ Telephone: +1 519 888 4567 x32637 ________________________________________ From: firedrake-bounces@imperial.ac.uk [firedrake-bounces@imperial.ac.uk] on behalf of Lawrence Mitchell [lawrence.mitchell@imperial.ac.uk] Sent: Friday, March 31, 2017 10:12 AM To: firedrake@imperial.ac.uk Subject: Re: [firedrake] close to fixing my nonlinear QG solver
On 30 Mar 2017, at 14:41, Francis Poulin <fpoulin@uwaterloo.ca> wrote:
Okay, I will try and put together something helpful in the next day or two and run it by you all.
FWIW, we have now added error checking for this common case, so if you now attempt to take a derivative wrt u and your form contains something from u.split(), then you'll get a (hopefully informative) error message. Let us know if this does the job. Lawrence _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake