# Runge-Kutta method for PDE

I consider certain partial differential equation (PDE). For example, let it be heat equation

$$u_t = u_{xx}$$

I want to apply numerical Runge-Kutta method for solving it. As a first step I approximate $u_{xx}$ with difference scheme of several order. Let it be

$$u_{xx} \approx \frac{u_{i+2} - 2 u_{i+1} + u_i}{h^2}$$ Then I take $t$ as a continious value and want to solve ODE with Runge-Kutta method:

$$u_t = \frac{u_{i+2} - 2 u_{i+1} + u_i}{h^2}$$

Here we may know only $u_0$ and $u_{N}$ values (boundary conditions).

This way I should now replace $u_t$ with difference scheme, for example

$$u_t \approx \frac{u_{\alpha + 1} - u_\alpha}{\tau}$$ (greek indices stand for time-lattice points; all values are taken in given x-lattice point $x_j$). And now I may write the second equation:

$$u_{xx} = \frac{u_{\alpha + 1} - u_\alpha}{\tau}$$ where $x$ is treated as continious value.

So I have a system of ODEs:

$$u_t = \frac{u_{i+2} - 2 u_{i+1} + u_i}{h^2}$$ $$u_{xx} = \frac{u_{\alpha + 1} - u_\alpha}{\tau}$$ with some initial-boundary conditions.

And now the problem is finding a way to solve it numerically (Runge-Kutta method). How should I obtain values that are necessary for solving (e.g. $u_{\alpha+1}$ or $u_{i+2}$)? It's not clear for me because for finding $u_{\alpha+1}$ we should know $u_{i+2}$ and equations are engaging.

• You're using a biased approximation for second derivative. The scheme would be unstable whatever time integrator you are using. Your numerical solution at $x_j$ depends only on the right part of the domain $x > x_j$, while the true solution depends on the whole domain. – uranix Jun 27 '15 at 12:49

## 1 Answer

Assuming you're using method of lines.

Let the original initial-boundary problem be $$u_t = u_{xx}\\ u(0, x) = f(x)\\ u(t, 0) = a(t)\\ u(t, 1) = b(t).$$ Introduce a set of points $x_j = jh,\; j = 0,1,\dots, N,\;Nh = 1$. Let $u_j(t) = u(t, x_j)$. Note that $u_0(t) = a(t),\; u_N(t) = b(t)$ are already known. Unknown are $u_j(t),\; j = 1, 2, \dots, N-1$. Then $u_{xx}(t, x_j)$ can be approximated as $$u_{xx}(t, x_j) \approx \frac{u_{j-1}(t) - 2u_j(t) + u_{j+1}(t)}{h^2}.$$ Plugging that into PDE gives $$u'_j(t) = \frac{u_{j-1}(t) - 2u_j(t) + u_{j+1}(t)}{h^2}$$ a system of $N-1$ ODEs with initial conditions $u_j(0) = f(x_j)$. That could be solved using any RK method (provided that method is stable). For explicit Euler method that would be $$\frac{u_j(t_{n+1}) - u_j(t_n)}{\tau} = \frac{u_{j-1}(t_n) - 2u_j(t_n) + u_{j+1}(t_n)}{h^2}, \; j = 1, 2, \dots, N-1\\ u_j(0) = f(t_j)\\ u_0(t) = a(t), \; u_N(t) = b(t).$$ This well known explicit scheme is stable when $\frac{\tau}{h^2} \leqslant \frac{1}{2}$.

• Oh, thanks a lot. – newt Jun 27 '15 at 16:05
• Works well with the Euler time stepping, but other Runge-Kutta methods are not applicable very well... – eimrek Nov 16 '15 at 23:27
• The RK2 method I have been introduced to uses a $k_1$ and $k_2$ "Predictor-Corrector" formula. This just looks a lot like finite difference to me. How does it relate to RK? I have a similar question, perhaps even the same, but I can't understand your answer. – rocksNwaves Mar 2 '18 at 1:16