Implicit finite difference scheme for parabolic PDE

algorithmsapproximationfinite differencesnumerical methodspartial differential equations

Let $u=u(t,x,y):[0,\infty)\times\mathbb{R}\times[0,\infty)\to\mathbb{R}$ be sufficiently smooth and consider the parabolic PDE $$u_t+u_{xx}+u_y=0.$$

Using forward/central finite differences, we obtain
\begin{align*}
\frac{u_{i+1,j,k}-u_{i,j,k}}{\Delta t} + \frac{u_{i,j+1,k}-2u_{i,j,k}+u_{i,j-1,k}}{(\Delta x)^2} + \frac{u_{i,j,k+1}-u_{i,j,k-1}}{2\Delta y}=0.
\end{align*}

Thus,
\begin{align*}
u_{i+1,j,k} = \frac{\Delta t}{2\Delta y} u_{i,j,k-1} -\frac{\Delta t}{2\Delta y} u_{i,j,k+1}-\frac{\Delta t}{(\Delta x)^2} u_{i,j-1,k} + \left(1+2\frac{\Delta t}{(\Delta x)^2}\right) u_{i,j,k} -\frac{\Delta t}{(\Delta x)^2} u_{i,j+1,k}
\end{align*}

This is an implicit finite difference scheme.

I've got boundary conditions on $u$ for $t\to\infty$, $x\to\pm\infty$, $y\to0$ and $y\to\infty$.

Thus, I seek $u(0,x,y)$.

To numerically solve that PDE, I need to implement a nested for loop going (backwards) through the time dimension, the $x$ dimension and finally through the $y$ dimension.

I do not know what equation system needs solving. In one dimension, $u_t+u_{xx}=0$, it's a tridiagonal matrix but I do not know how to generalize the setting to the above PDE. Could you please guide me in what system $Ax=b$ needs solving?

Best Answer

Is it possible in your situation to make the following change of variables:

$$ \tilde{t} = -t $$

So that:

\begin{aligned} -u_{\tilde{t}} + u_{xx} + u_y = 0\\ u(-\infty, x, y) = f(x,y) \end{aligned}

Thus, your finite difference scheme will be explicit.

Related Question