## 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>