[Math] Backward-Euler implicit integration for multiple variables

integrationnumerical methods

I'm a bit confused how the Backward-Euler implicit integration method works for multiple variables (i.e., systems of differential equations).

For single variables, we solve the implicit equation

$$x(t + \Delta t) = f(\Delta t, x(t), \dot{x}(t + \Delta t))$$

But when I have (say) two variables, I'm not sure which variables' future values I should use.

Do I solve

$$x_1(t + \Delta t) = f_1(\Delta t, x_1(t), \dot{x}_1(t + \Delta t), x_2(t), \dot{x}_2(t + \Delta t))$$
$$x_2(t + \Delta t) = f_2(\Delta t, x_2(t), \dot{x}_2(t + \Delta t), x_1(t), \dot{x}_1(t + \Delta t))$$

or do I solve

$$x_1(t + \Delta t) = f_1(\Delta t, x_1(t), \dot{x}_1(t + \Delta t), x_2(t), \dot{x}_2(t))$$
$$x_2(t + \Delta t) = f_2(\Delta t, x_2(t), \dot{x}_2(t + \Delta t), x_1(t), \dot{x}_1(t))$$

and why?

Best Answer

You are not even close. Please try to follow standard notation.

The differential equation is $\dot x(t)=f(t,x(t))$. The implicit Euler method has the step $$ x(t+Δt)\simeq x(t)+Δt·f(t+Δt, x(t+Δt)) $$ or in a more numerically oriented manner $$ x_{j+1}=x_j+Δt·f(t_{j+1}, x_{j+1}),\qquad t_j=t_0+j·Δt, $$ or in correspondence with the Butcher tableau $$ k=f(t_{j+1},x_j+Δt·k)\\ x_{j+1}=x_j+Δt·k $$ This formula is valid for scalar ODE as well as for vector ODE. If $L$ is the Lipschitz constant of $f$ in the $x$ direction and $|Δt|·L<1$ then the fixed point iteration of the first equation can be used as is. If this condition is not satisfied, for instance in the interesting case that the ODE is stiff, then one has to use the (simplified) Newton method. That is, with $J=\partial_xf(t+Δt,x_j)$ you iterate $$ k_+=k-(I-Δt·J)^{-1}(k-f(t+Δt,x_j+Δt·k)) $$ If you stop this iteration after one step, you get the most simple Rosenbrock method.

Related Question