MathGroup Archive 2003

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

Search the Archive

pde's and method of lines

  • To: mathgroup at smc.vnet.net
  • Subject: [mg41234] pde's and method of lines
  • From: sean kim <shawn_s_kim at yahoo.com>
  • Date: Thu, 8 May 2003 09:40:16 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

hello group,

once again, I catch myself, resorting to asking question to the group. 

I have a question regarding pde's and method of lines.  ( it appears
there are a couple of posts regarding this, but not the question I'm
going to ask) 

please consider the following which was p[osted by one of the wolfram
researcher as an answer to a post regarding a couple diffusion
problem.(http://forums.wolfram.com/mathgroup/archive/2002/Aug/msg00437.html)

the systems of,
du/dt = 1-4 u_i + .02 d^2u/dx^2+ (u)^3 v
dv/dt = 3 u_i + .02 d^2v/dx^2 - (u)^3 v 

will be discretized as 

n = 10; 
X = N[Range[1, n]/(n + 1)];
U[t_] = Map[u[#][t] &, Range[1, n]];
V[t_] = Map[v[#][t] &, Range[1, n]];

eqns = Join[ 
      Thread[D[U[t], t] == 
          1 - 4 U[t] + 
            0.02 ListCorrelate[N[{1, -2, 1} n^2], U[t], {2, 2}, 1] + 
            U[t]^2 V[t]], 
      Thread[ D[V[t], t] == 
          3 U[t] + 0.02 ListCorrelate[N[{1, -2, 1} n^2], V[t], {2, 2},
3] + 
            U[t]^2 V[t]], Thread[U[0] == 1 + Sin[2 Pi X]], 
      Thread[V[0] == 3 + 0. X]]; NDSolve[eqns, Join[U[t], V[t]], {t, 0,
10}] 

above is more or less what I have been trying to recreate with my own
diffusion system except I don't have a couple diffusion as above. Since
there are two term,s diffusing. both equations need to be discretized.

but let's say we have single diffusible term in a system of ode's. Do I
still have to discretize all the other equations?  

for instance, let's say we have a single diffusible term, as (instead
of above) the following. this is an hypothetical situation modified
from above equations.

new system is 

du/dt = 1-4 u_i + .02 d^2u/dx^2+ (u)^3 v
dv/dt = 3 u_i - (u)^3 v 

which means that with u[t][x] discretized, this is an system of ode's,
so if you try to solve them as such doesn't seem to work too well.

In[20]:=
n = 10; 
X = N[Range[1, n]/(n + 1)];
U[t_] = Map[u[#][t] &, Range[1, n]];

eqns = Join[ 
    Thread[D[U[t], t] == 
        1 - 4 U[t] + 0.02 ListCorrelate[N[{1, -2, 1} n^2], U[t], {2,
2}, 1] + 
          U[t]^2 v[t]], D[v[t], t] == 3 u[t] + u[t]^2 v[t], 
    Thread[U[0] == 1 + Sin[2 Pi X]], v[0] == 3 ]
; 
NDSolve[eqns, 
  Join[U[t], v[t]], {t, 0, 10}] 

above code fails with following error messages.

positions \!\(1\) and \\!\(2\) are expected to be the same."

\!\(1\) and \!\(2\) \ are expected to be the same."

equation and an \ initial condition."

What am I doing wrong here?  My first guess is that even when you only
have a single diffusible term, all the equations needs to be
discretized as the initial example shows.  

This is a bit of problem for me since my actual system have 9
equations. Even when I use 10 bin's, that's 90 differential equations
that needs to be solved. 

with additional coefficient choices, you can see the problems becomes
intractable rapidly.( well, at least computationally intensive)

I have used the above as an example.  But the idea is the discretize
second order spatial derivative using method of lines in a system of
ode's, then solve that system as a initial value problem.  I can give
more examples if the group would like to see.

Could someone please suggest some ways out of this? 

It appears lotta biologists(as according to previous posts regarding
coupled diffusions and catalysis kinetic rates) are now using
mathematica to do their modeling, maybe this will be a nice exapmple
for future users also. 

as always, all helpful comments are most sincerely welcome. 

sean from UCIrvine

=====
when riding a dead horse,  some dismount.

while others... 

form a committee to examine the deadness of the horse, then form an oversight committee to examine the validity of the finding of the previous committee.

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com


  • Prev by Date: Re: curve fitting -- Excel Accuracy
  • Next by Date: Re: Re: Using InterpolateRoot Function in Mathematica
  • Previous by thread: Re: problem regarding convert graphics file into eps file in mathematica
  • Next by thread: Re: pde's and method of lines