Global error control without conserved quantities.

63 Views Asked by At

I want to study a dynamical system using numerical approach and I want to verify that the system has the expected global error. When I want to numerically integrate an ODE $\dfrac{dx_i}{dt}=f_i(x_1,...,x_N)$ using an integration method (Verlet, midpoint, Euler etc) I consider a conserved quantity (of course if the system admits such quantity) $E$ related to the system and I evaluate the difference:

$\Delta E := \dfrac{E(x(t_{end})) - E(x(t_{ini}))}{E(x(t_{ini}))}$

where $t_{end}$ and $t_{ini}$ are the parameters related respectively to the starting point $x(t_{ini})$ and the ending point $x(t_{end})$ of my integration, the latter is the numerical solution of my integration. I repeat the evaluation of such difference varying the integration time-step i.e. $\Delta t$. The total number of time-steps are $N \sim \dfrac{1}{\Delta t}$.

If we are dealing with a second order Runge Kutta method I should obtain for $Y=\Delta E(\Delta t)$ something like $Y\approx \Delta t^2$ since Runge Kutta has a $O(\Delta t ^3)$ local error. This procedure can be generalized even for a dynamical system e.g. Lotka Volterra equations in which you have a unique conserved quantity even though the system is formed by 2 differential equations.

Here comes the question.

when I do not have any (known) conserved quantity how can I know if the obtained global error behaviour matches the expected one? I don't have a deep knowledge of dynamical system and numerical methods so the question could be trivial for someone.