MathGroup Archive 2003

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

Search the Archive

Re: discretizing once again but with a lot more progress...

  • To: mathgroup at smc.vnet.net
  • Subject: [mg40337] Re: discretizing once again but with a lot more progress...
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Wed, 2 Apr 2003 04:34:51 -0500 (EST)
  • Organization: Universitaet Leipzig
  • References: <b6bo12$5j$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

you should specify some bondary conditions like
u[xmin,t]==0, u[xmax,t]==0

in your eqations


NDSolve[list /. 
  {y[0][_] :> 0, y[nbins + 1][_] :> 0}, vbls, {t, 0, 20}]

will add the homogenous boandary conditions from above.

Regards
  Jens


john boy wrote:
> 
> hello fellow mathgroupers.
> 
> I sincerely appreciate past comments I have received
> regarding my last post.( thank you Dr. Hollis)
> 
> Frankly though, myself being a biology grad student,
> this task, which might take a mathematician or a
> programmer a day's work, has taken large part of past
> three weeks.
> 
> So I would like to share with you all a problem I
> have. and hopefully some of you will be helpful to
> suggest the next course of action.
> 
> Please do consider with me, the diffusion equation in
> the form of D[u, t] == D[u, x, x]( from the help
> browser).
> 
> Now also consider the following solution that is given
> which does wonderfully to plot and show the behaviour
> that particular equation over the range of x and t
> given.
> 
> In[143]:=
> Clear[c, x, t, u, xmax, xmin, nbins, npoints, dx];
> u = y[x, t];
> v6 = NDSolve[{D[u, t] == D[u, x, x],
>       y[x, 0] == If[Abs[x] < 2.99, E^(-x^2), 0],
> y[-10, t] == 0,
>       y[10, t] == 0},  y, {x, -10, 10}, {t, 0, 20}]
> 
> Plot3D[ Evaluate[y[x, t] /. v6 [[1]]], {x, -10, 10},
> {t, 0, 20},
>   PlotPoints -> 30, PlotRange -> {0, 1}]
> 
> which gives the correct output along with a plot,
> 
> Out[145]=
> {{y -> InterpolatingFunction[{{-10., 10.}, {0., 20.}},
> "<>"]}}
> 
> now please consider my attempt( and incorrect
> apparently) at the discretization of the second order
> spatial derivative as follows...
> 
> In[226]:=
> Clear[c, x, t, u, xmax, xmin, nbins, npoints, dx];
> 
> c = .1;
> 
> eq1 = D[u, t] == D[u, x, x];
> xmin = -3; xmax = 3; nbins = 2; npoints = nbins + 1;
> dx =
>   Abs[(xmax - xmin)/(nbins)];
> 
> eq2 = Table[
>       D[y[i][t], t] == (y[i + 1][t] - 2y[i][t] + y[i -
> 1][t])/(dx^2) +
>           c y[i][t]^2 - c y[i][t], {i, 1, nbins}];
> ic = Table[
>       y[i][0] == N[E^(-x^2) /. {x -> xmin + (i -
> 1)(xmax - xmin)/nbins}], {i,
>         1, nbins}];
> 
> vbls = Table[y[i][t], {i, 1, nbins}];
> 
> list = Join[eq2, ic];
> 
> NDSolve[list, vbls, {t, 0, 20}]
> 
> which then gives the errorneous output of,
> 
> From In[226]:=
> NDSolve::"ndnum": "Encountered non-numerical value for
> a derivative at t == 5.285630387377673`*^180."
> 
> Out[234]=
> {{y[1][t] -> InterpolatingFunction[{{0., 0.}},
> "<>"][t],
>     y[2][t] -> InterpolatingFunction[{{0., 0.}},
> "<>"][t]}}
> 
> I have chosen only 2 bins because I wanted to make it
> as simple as possible so i can figure out what was
> going on.
> 
> And not much good that has done.
> 
> If anyone out there has a way or an idea to try in
> order for me to get a plot that is similar to the
> original solution that is given in the help browser, I
> would be most appreciative in hearing about it.
> 
> any and all comments are welcome.
> 
> thank you all very much in advance, (I didn't want to
> post a long message but looks like I dont have a
> choice. )
> 
> john
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Tax Center - File online, calculators, forms, and more
> http://platinum.yahoo.com


  • Prev by Date: RE: Re: Map Projection with Mathematica
  • Next by Date: Re: Warning: Mathematica 4.x and Linux Mandrake 9.1
  • Previous by thread: Re: discretizing once again but with a lot more progress...
  • Next by thread: RE: generate random permutation