Re: Re: discretization and plotting pde system
- To: mathgroup at smc.vnet.net
- Subject: [mg40062] Re: [mg40042] Re: discretization and plotting pde system
- From: Selwyn Hollis <selwynh at earthlink.net>
- Date: Tue, 18 Mar 2003 02:21:34 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
This may be somewhat more helpful than my previous suggestions... I'm not sure I'm using exactly the steady-state system you're trying to solve, but this should serve as a good example. I'm going to assume the following boundary values at x=0 and x=1: s[0] = c[0] = sc[0] = 0, s[1]= c[1] = sc[1] = 1. Here's a function that solves the initial-value problem, for given values of s'[0], c'[0], sc'[0]. Note that the system of 3 second-order ODEs has been converted to a system of 6 first-order ODEs. solns[u_, v_, w_] := First[ {s[x], c[x], sc[x]} /. NDSolve[{ s'[x] == ds[x], c'[x] == dc[x], sc'[x] == dsc[x], 1*ds'[x] - c[x]*s[x] - 10*sc[x] == 0, 0.1*dc'[x] - c[x]*s[x] + 10*sc[x] == 0, 1*dsc'[x] + c[x]*s[x] - 10*sc[x] == 0, s[0] == 0, c[0] == 0, sc[0] == 0, ds[0] == u, dc[0] == v, dsc[0] == w}, {s[x], c[x], sc[x], ds[x], dc[x], dsc[x]}, {x, 0, 1} ] ] Now define endvals[u_,v_,w_] := solns[u,v,w] /. x->1 and use FindRoot as follows: slopes= {u, v, w} /. FindRoot[ endvals[u, v, w] - {1, 1, 1}, {u, {0, 1}}, {v, {0, 1}}, {w, {0, 1}}] {0.0499949, 7.86619, 0.313381} Now plot the solution: Plot[Evaluate[solns@@slopes], {x, 0, 1}, PlotStyle -> {Hue[0], Hue[.7], {}}] ----- Selwyn Hollis On Monday, March 17, 2003, at 03:33 AM, Selwyn Hollis wrote: > If you're intent on doing this kind of thing from scratch, I'd suggest > that you begin with a basic numerical analysis book that treats finite > differences and the Crank-Nicolson method. It would also be a good idea > to start with a simpler problem, something like > > dy/dt == d^2y/dx^2 + y(1-y) , 0 < x < 1, > y(t,0)= 0, y(t,1) = 1, > y(0,x) = x^2. > > On the other hand, you may want to look at the ReactionDiffusionLab > package found here: > > http://www.math.armstrong.edu/faculty/hollis/mmade/RDL/ > > With it, you can solve problems such as the one you have, but in two > space dimensions instead of one. > > > ----- > Selwyn Hollis > http://www.math.armstrong.edu/faculty/hollis > >