Computing Library › Numerical Methods
Numerical Methods

Stiff ODE Solvers

Implicit integrators designed for systems with widely separated time scales, where explicit methods demand impractically small steps.

What makes a system stiff

A system of ordinary differential equations is stiff when it contains processes evolving on very different time scales, some extremely fast and some slow, and the fast processes decay rather than being of interest. An explicit method must take steps small enough to keep the fast decaying modes stable, even after they have died out and no longer affect the solution. This forces tiny steps for accuracy reasons that no longer exist, making explicit methods hopelessly inefficient.

The cure is implicitness

Kronos motion — confinement time

Implicit methods evaluate the derivative at the new, unknown time level, which requires solving an equation each step but grants vastly better stability. An A-stable method remains stable for any step size on decaying modes, so the step can be chosen for accuracy alone. This freedom from stability-limited steps is why stiff problems demand implicit solvers.

The main families

The cost per step

Each implicit step requires solving a nonlinear system, typically by a Newton iteration whose linear solves use the Jacobian. For large systems this is done with Newton-Krylov techniques. The step is more expensive than an explicit one, but for stiff problems the ability to take steps thousands of times larger more than compensates. Adaptive step and order control, as in the venerable solvers of the SUNDIALS suite, automate the trade-off.

Where stiffness appears

Stiffness is pervasive: chemical kinetics with fast and slow reactions, electrical circuits, and plasma problems where fast waves or rapid collisional relaxation coexist with slow transport. Recognizing stiffness and switching to an implicit or IMEX solver is often the difference between a tractable and an impossible simulation.