# How to decide stability of Runge-Kutta method for non-linear ODE?

I'm working on a parameter study of Duffing's equation

$\ddot x + \delta \dot x + \alpha x + \beta x^3 = \gamma \cos{\omega t},$

where $\delta, \alpha, \beta, \gamma$ and $\omega$ are real parameters and $\dot x := dx/dt$. Substituting $x \rightarrow u, \dot x\rightarrow v$ in the usual manner, the idea is to integrate the system

$\dot u = v$,
$\dot v = \gamma \cos{\omega t} - \delta v - \alpha u - \beta u^3$

using the fourth order Runge-Kutta method. I've chosen this pretty much because it's standard. My questions are:

1) How do I determine whether this method is at all applicable to the problem? Is the problem stiff, and should I choose a different method?

This of course is complicated by the fact that Duffing's equation doesn't have an analytical solution for most parameters.

2) How do I determine what step size to use - ie. how is the error resulting from a given step size estimated? (I would very much like to avoid implementing an adaptive step size.)

Being pointed towrads good references will be much appreciated! Best regards, \T

## 2 Answers

You can apply linear stability analysis. That is, for given $u=(x,v)$ compute the linearization $Df(u)$ of the right hand side if the equation is $u‘=f(u)$. The problem is stiff if those differ by orders of magnitude. At a glance, I would not expect this.

You can determine a good step size by running the problem again with half the size. If the results are close, you are done. How close represents on your requirements. Or you use an embedded method like Dormand-Prince to estimate the local error. This is also ode45 in Matlab.

These are all standard questions discussed in most books on ODE solvers. I would recommend Hairer & Wanner.

• Thanks! I'll accept this answer in due time if no-one does more than point to references. – trolle3000 Jul 12 '13 at 17:27