Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PDE with two variables by NDSolve

522 views
Skip to first unread message

Alexei Boulbitch

unread,
Dec 15, 2008, 7:43:38 AM12/15/08
to
Dear MathGroup members,

I have a misunderstanding when solving a partial differential equation with M6. It is a rather simple equation for a function z=z(x,y):

pde = \!\(
\*SubscriptBox[\(\[PartialD]\), \({x, 2}\)]\ \(z[x, y]\)\) + \!\(
\*SubscriptBox[\(\[PartialD]\), \({y, 2}\)]\ \(z[x,
y]\)\) - (1 - 3*Exp[-(x^2 + y^2)])*z[x, y] -
Log[(1 + z[x, y])/(1 - z[x, y])] == 0;

with simple boundary conditions fixed on a square 10x10. The function should be there either zero, or something small, but different from zero like 0.01. Let us take zero:

bc = {z[-10, y] == z[10, y] == 0, z[x, -10] == z[x, 10] == 0};

Now application of the NDSolve operator:

sol = NDSolve[{pde, bc}, z, {x, -10, 10}, {y, -10, 10}]

returns the error message:

NDSolve::ivone: Boundary values may only be specified for one \
independent variable. Initial values may only be specified at one \
value of the other independent variable. >>

I understand this response, as if Mathematica does not support boundary conditions fixed for both of the variables.
However, in Help/NDSolve/ Scope/Partial Differential Equations/Example Nr 3 shows the following code for SineGordon:

L = 4;
sol = NDSolve[{D[u[t, x, y], t, t] ==
D[u[t, x, y], x, x] + D[u[t, x, y], y, y] + Sin[u[t, x, y]],
u[t, -L, y] == u[t, L, y], u[t, x, -L] == u[t, x, L],
u[0, x, y] == Exp[-(x^2 + y^2)],
Derivative[1, 0, 0][u][0, x, y] == 0},
u, {t, 0, L/2}, {x, -L, L}, {y, -L, L}]

in which the  line u[t, -L, y] == u[t, L, y], u[t, x, -L] == u[t, x, L] fixes very similar type of boundary conditions.

What´s wrong?

Regards, Alexei
--
Alexei BOULBITCH,
Dr. , habil.
IEE S.A.
Department for Material Development
ZAE Weiergewan
11, rue Edmond Reuter
L-5326 Contern, Luxembourg

Tel. ++352-2454-2566
Fax.: ++352 424737201
mobile: 0152-03807245
E-mail: alexei.b...@iee.lu
Internet: http://www.physik.tu-muenchen.de/~aboulbit/

Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger

D. Grady

unread,
Dec 17, 2008, 6:33:45 AM12/17/08
to
It looks like NDSolve is designed to only work with initial value
problems. There's a note in the documentation under NDSolve /
Possible Issues/ Partial Differential Equations that doesn't work with
Laplace's equation, and in the tutorial/NDSolveOverview you can read
more about the methods NDSolve uses; none of them are for elliptic
equations.

One way you could try to work around this is to add a time variable to
your problem, specify some initial condition, and see if the solution
relaxes to a steady state. This is kind of clumsy, but it might be
worth a shot.

-Daniel

dh

unread,
Dec 17, 2008, 6:36:13 AM12/17/08
to

Hi Alexei,

your PDE is nothing else than "rather simple". It is a non-linear

transcendental PDE.

Further, the boundary conditions from the example you mention:

u[t, -L, y] == u[t, L, y], u[t, x, -L] == u[t, x, L],

only state that the solution is periodic. The other conditions:

u[0, x, y] == Exp[-(x2 + y2)],

Derivative[1, 0, 0][u][0, x, y] == 0

specify boundary conditions just for one point of t.

Daniel

dh

unread,
Dec 17, 2008, 6:36:24 AM12/17/08
to

Hi Alexei,

I forgot to mention another point about NDSolve. NDSolve is made for

time dependent problems. From the manual:

"all of these functions must depend on a single "independent variable"

t, which is the same for each function."

Daniel

0 new messages