# A Brief Overview of Solvers and Solver Options

Note: This document assumes that the reader is somewhat familiar with numerical methods used to solve ODE's. For more information, consult a numerical analysis or scientific computing textbook.

## Runge-Kutta-Fehlberg 4th/5th

Runge-Kutta_fehlberg 4th/5th is an adaptive stepsize algorithm. It adjusts the stepsize in such a way as to keep the absolute error in a step less than Absolute Tol. and the fractional error less than Relative Tol. See Numerical Recipies in C: The Art of Scientific Computing, by Press, Teutolsky, Vetterling, and Flannery, for more information on the algorithm.

• Absolute Tol.: RKF45 adjusts the stepsize in such a way as to keep the absolute error in a step less than Absolute Tol.
• Relative Tol.: RKF45 adjusts the stepsize in such a way as to keep the fractional error in a step less than Relative Tol.
• Min Step Size : The minimum stepsize that RKF45 should attempt to use. If the requested error tolerances cannot be achieved even when using the minumum stepsize, the solver will report an error.
• Max Step Size : The maximum stepsize that RKF45 should attempt to use.
• Points/Time: The number of points that should be graphed per unit time.

## Rosenbrock

The Rosenbrock method is an adaptive, semi-implicit, multi-stage method . The Rosenbrock method can be thought of as a generalization of the Runge-Kutta methods. This is done by adding more parameters into the equations for this method. As a result of this generalization, the Rosenbrock Solver can solve stiff differential equations. This is something that the Euler Method and the Runge-Kutta methods cannot do well. Like the RKF45 method described above, it adjusts the stepsize in such a way as to keep the absolute error in a step less than Absolute Tol. and the fractional error less than Relative Tol.

Rosenbrock Options: See the description of the RKF45 options above.

## Euler

The Euler algorithm is a very basic first-order, fixed step size ODE solver. It is included in ODEToolkit merely for demonstration purposes as it is inaccurate.

Euler Options:

• Points/Time: Specified the number of output points per unit time that the solver should compute. The stepsize is computed by dividing the solve span by Points/Time.