## DFIELD & PPLANE Solvers

The default solver in both
`DFIELD5`

and
`PPLANE5`

is one due to
J.R. Dormand and P.J. Prince. It is described in chapters 5 & 6 of
John Dormand's excellent new book, *Numerical Methods for
Differential Equations.* This is the same solver that is used in
the new version of `ODE45.`

Special versions have been
included in `DFIELD5`

and `PPLANE5`

to meet the
particular needs of those routines.
`DFIELD5`

includes solvers using Euler's method and
the second and fourth order Runge-Kutta methods, in addition to the
default solver.

In `PPLANE5`

the user has the option to use the solver
`ODE23S`

from the new ODE suite. This solver is designed
to solve stiff systems. It was written by Larry Shampine of SMU and
Mark Reichelt of The MathWorks. It will appear very slow in comparison to the
default solver for most systems. It is especially slow in
`PPLANE5`

because of the demands put on it there to plot
solutions continuously, and because of the stopping criteria used.
(The auxiliary file `ppn5out.m`

is necessary in order to
optimize the speed of `ODE23S`

. )
Nevertheless, the user will see its strength if it is used on a truly
stiff system. Try

t' = 1
y' = exp(t)*sin(y)

using both of the solvers and compare the speed of solution.
For a real test try the solvers on the van der Pol equation:

x' = y
y' = MU*(1-x^2)*y - x

With MU relatively small, the equation is not stiff, and neither of
the solvers has much difficulty with the system. However, when Mu =
100 or MU = 1000 the system is stiff and the default solver will grind
away getting nowhere, while `ODE23S`

will readily solve the
system. (Use a Display window with -3 < x < 3, and -1.5 MU <
y < 1.5 MU.) Preferably use Keyboard Input with a prescribed
computation interval of (0,3*MU), and (2,0) as the starting point.
For some stiff systems the stopping criteria used may cause the
solution to stop before it should. Use the Keyboard Input with a
prescribed computation interval (see next item).

`ODE23S`

can only be used in the Display Window. It cannot
be used in the Linearization Window. It is unlikely that it will be
useful there.

John C. Polking
<polking@rice.edu>
Last modified: Fri Jan 28 14:54:41 CST 2000