[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ff3d-users] Newbie question
From: |
Stephane Del Pino |
Subject: |
Re: [ff3d-users] Newbie question |
Date: |
Thu, 22 Jul 2004 00:25:03 +0200 |
User-agent: |
KMail/1.6.2 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Le mercredi 21 Juillet 2004 14:33, Luigi Bardelli a écrit :
> Hi Stephane,
Hi!
> thank you for the quick reply! I'm not understanding why the various
> expressions do not work when A is a PDE variable like for example
>
> solve(v1,v2) in MESH{
> pde(v1)
> v1*dx(dx(v2))=0
> pde(v2)
> .....
> }
> it says:
> syntax error, unexpected '*', expecting '=' or '-' or '+': "*"
> unexpected
>
> Why? Thank you
> Luigi
Their are two problems here:
1) As I told you, you cannot write
f*dx(dx(u))
because of the Green formula. You *must* use
dx(f*dx(u))
if you are more familiar with variational formulations, you can use the syntax
solve(u) in MESH{
test(v)
int(f*dx(u)*dx(v))=0
// ...
}
for witch no order is required. (v is the test function). This is documented
(section 4.5) and since you have 2 versions ;-)
2) You are trying to solve *directly* a non linear problem!
ff3d does only solve linear problems, so you have to write the nonlinear
algorithm within ff3d's command file. For instance:
function v0 = initial_value;
do {
solve(u) in MESH {
pde(u)
dv(v0*dx(u)) = 0
// ...
}
v0 = u;
}
Of course, you can use more clever algorithms...
I hope this helps,
Stephane.
PS: when solving vectorial problems, the assignment of equations to "pde(.)"
statements is essential (see section 4.5 also).
PS2: I committed the change concerning the call of dvips.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA/u0/bZyhKhZwdc0RApTuAJ9+DJ1ghI4htxSQct6RbB/291Xu4ACgnLDm
TQQHWMjMNFW7jRTXrsgKVaQ=
=hzEb
-----END PGP SIGNATURE-----