Mathematics Asked by user541686 on December 25, 2020
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?
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.
Correct answer by Lutz Lehmann on December 25, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP