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.

```

• Prev by Date: Re: Q: Axes on top of graphics primitives?
• Next by Date: Re: Pi == 3 for imprecise values of 3?
• Previous by thread: Re: Apparently easy ODE
• Next by thread: contour plot