Re: Apparently easy ODE
- To: mathgroup at smc.vnet.net
- Subject: [mg22950] Re: Apparently easy ODE
- From: Robert Knapp <rknapp at wolfram.com>
- Date: Fri, 7 Apr 2000 02:54:33 -0400 (EDT)
- Organization: Wolfram Research, Inc.
- References: <8chb0j$9af@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Kurt Taretto wrote: > > Hi, I'm having some problems solving PDE's, for example the folowing > notebook > > Clear["Global`*"]; > > (* constants definitions *) > > Es =11.8*8.85418`50*10^-14; > q = 1.60218`50*10^-19; > > Nd = 1.0`50*^16; g = 1.0`50*^-4; G = 1.0`50*^20; u= 500.0`50; DD = > 25.0`50; > k1 = q/Es; > > solution = NDSolve[{e'[x] == k1 p[x], > > G - u e'[x] p[x] - u e[x] p'[x] + DD p''[x] == 0, > > e'[0] == 0, p[g] == 1.0`50*^10, p'[0] == 0}, > > {e, p}, {x, 0, g}, WorkingPrecision -> 20]; > > Plot[p[x] /. solution, {x, g/100, g}, PlotRange -> All]; > > causes an error message, "Cannot find starting value for the variable > x.", and obviously no solution is given. Apparently this error message > is about the internals of the algorithm, but I can't figure out what I'm > doing wrong. Any help on this would be appreciated. > The problem you are running into is that the algorithm NDSolve uses to solve boundary value problems a) Only works for a single equation (i.e. not a system as you have here) b) Only works for linear equations. In a version of Mathematica under development, the method has been generalized to linear systems, and we are investigating the possibilities for nonlinear systems. I agree that the message could be clearer. I have been working to try to make the messages from NDSolve more specific about what went wrong. Rob Knapp Wolfram Research, Inc.