Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Numerical solution of coupled nonlinear PDEs

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112124] Re: Numerical solution of coupled nonlinear PDEs
  • From: Oliver Ruebenkoenig <ruebenko at wolfram.com>
  • Date: Tue, 31 Aug 2010 04:18:17 -0400 (EDT)

On Mon, 30 Aug 2010, Dominic wrote:

> Hi guys,
>
> For the functions a(t,y), b(t,y), and x(t,y),I have the PDE system:
>
> a'=a''+a x''+x'a'
>
> b'=b''-bx''-x'b'
>
> x''=b-a
>
> Sorry I can't show the system more clearly here but on the left side the
> partial is respect to t for a and b and it's with respect to y for the
> x(t,y), and on the right, all partials are with respect to y,
>
> and I'd like to obtain a numerical solution for any simple IBVP using
> NDSolve, for example in the domain 0<t<1 and 0<y<1 with all initial
> conditions set to y  This is the code I'm using:
>
> mysol = NDSolve[{D[a[t, y], t] ==
> D[a[t, y], {y, 2}] + a[t, y] D[x[t, y], {y, 2}] +
> D[x[t, y], y] D[a[t, y], y]
> ,
> D[b[t, y], t] ==
> D[b[t, y], {y, 2}] - b[t, y] D[x[t, y], {y, 2}] -
> D[x[t, y], y] D[b[t, y], y]
> ,
> D[x[t, y], {y, 2}] == b[t, y] - a[t, y]
> ,
> a[0, y] == y, a[t, 0] == 0, a[t, 1] == 1,
>
> b[0, y] == y, b[t, 0] == 0, b[t, 1] == 1,
>
> x[0, y] == y, x[t, 0] == 0, x[t, 1] == 1},
>
> {a, b, x}, {t, 0, 1}, {y, 0, 1}, MaxSteps -> 10000]
>
> However, I receive boundary-value errors and singular errors.
>
> Can someone help me set up this system in any way for any reasonable
> domain with any reasonable initial and bondary values to obtain a
> non-trivial solution?
>
> Thanks guys,
>
> Dominic
>

Dominic,

eqn = {
   D[a[t, y], t] ==
    D[a[t, y], {y, 2}] + a[t, y] D[x[t, y], {y, 2}] +
     D[x[t, y], y] D[a[t, y], y],
   D[b[t, y], t] ==
    D[b[t, y], {y, 2}] - b[t, y] D[x[t, y], {y, 2}] -
     D[x[t, y], y] D[b[t, y], y],
   D[D[x[t, y], {y, 2}] == b[t, y] - a[t, y], t]}

mysol = NDSolve[{{eqn},
    a[0, y] == y, a[t, 0] == 0, a[t, 1] == 1, b[0, y] == y,
    b[t, 0] == 0, b[t, 1] == 1, x[t, 0] == 0, x[t, 1] == 1,
    x[0, y] == y}, {a[t, y], b[t, y], x[t, y]}, {t, 0, 1}, {y, 0, 1},
   Method -> {"MethodOfLines", "TemporalVariable" -> t}]

does this help? Note that the x has been differentiated with respect to t - 
you need to set appropriate initial conditions.

Oliver


  • Prev by Date: Re: Working with Log
  • Next by Date: Re: FindRoots?
  • Previous by thread: Re: Numerical solution of coupled nonlinear PDEs
  • Next by thread: Is it possible?