Actually, assuming the original problems were written so that v is in the same space as u1, which is how I read the spec, then this is ill-posed. Instead you need to pull the test function from the mixed space too.
W = MixedFunctionSpace(...)
w = Function(W)v = TestFunction(W)
u1, u2, u3 = split(w)v1, v2, v3 = split(v)
F = fn(u1, u2, u3; v1)etc...
solve(F + G + H == 0, w)
On 26 November 2014 at 10:28, Mitchell, Lawrence <lawrence.mitchell@imperial.ac.uk> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 26/11/14 10:19, Anna Kalogirou wrote:
> Dear all,
>
> How would I solve multiple nonlinear variational problems
> simultaneously? For example, say that I have three residuals
>
> F(u1,u2,u3;v) = 0 G(u1,u2,u3;v) = 0 H(u1,u2,u3;v) = 0,
>
> where v is the test function. I need to solve all three of them
> together. Any suggestions?
Assuming you have:
W = MixedFunctionSpace(...)
w = Function(W)
u1, u2, u3 = split(w)
F = fn(u1, u2, u3; v)
etc...
Since you're linear in v, can you not just write:
solve(F + G + H == 0, w)
?
Or am I missing something?
Lawrence
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/
iQEcBAEBAgAGBQJUdas2AAoJECOc1kQ8PEYvGzIIAM/PQ/7o82RvhWC2StXETQtm
ub5cvB+sj6ceqyE73L4bJzMjNvqdjSMy61QcCErho6nyeviqtvCDKbih98Sy7tut
7QMKLFQgwB1JdtnmdU4Rc5cm6pDDo2LPE07pbHmRSAl7XUH0GZTcqRAJoBubEzcn
BxcF0vRAgr++Y+4ak+Snt2k950k2mf3jE4Q3oA/KpkL8nVfEkBWU5ACb23CbKLAD
lO5ZrOFuSYHoyj+Fcn8aEsrBGHEDwv6GhNoyWqo46speLCEamJN1E5D7KxYXuTCj
W5lNHMPM0VeWvEiH69j4CidRbCo5Mba7rwVYJMzDWiXa0/avuFDlq2oOzxmIIIs=
=BZY9
-----END PGP SIGNATURE-----
_______________________________________________
firedrake mailing list
firedrake@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/firedrake
--
Dr David Ham
Departments of Mathematics and Computing
Imperial College London
http://www.imperial.ac.uk/people/david.ham
-- Dr Anna Kalogirou Research Fellow School of Mathematics University of Leeds