Условие устойчивости явной схемы
$$
\Delta t \leq \frac{h^2}{2\sigma}
$$
$$
\frac{\Delta t}{h^2} \leq \frac{1}{2\sigma} \quad \text{— для одномерного случая}
$$
Для двумерного:
$$
\frac{\Delta t}{h_x^2} + \frac{\Delta t}{h_y^2} \leq \frac{1}{2\sigma}
\qquad \text{или} \qquad
\Delta t \leq \frac{1}{\dfrac{2\sigma}{h_x^2} + \dfrac{2\sigma}{h_y^2}}
$$
Если $h_x = h_y = h$, то:
$$
\frac{\Delta t}{h^2} \leq \frac{1}{4\sigma}
$$
Порядок аппроксимации
$O(\Delta t,\, h_x^2,\, h_y^2)$ — для уравнения $\dfrac{\partial u}{\partial t} = \dfrac{\partial^2 u}{\partial x^2} + \dfrac{\partial^2 u}{\partial y^2}$
$O(\Delta t,\, h_x^2,\, h_y)$ — для уравнения $\dfrac{\partial u}{\partial t} + \dfrac{\partial u}{\partial y} = \dfrac{\partial^2 u}{\partial x^2} + \dfrac{\partial^2 u}{\partial y^2}$
Пример 1. (Явная схема)
$$
\frac{\partial u}{\partial t} = \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + 1 + u, \qquad u = u(t, x, y)
$$
Начальное и граничные условия:
$$
u(t{=}0,\, x, y) = xy
$$
$$
\begin{cases}
u(t,\, x{=}0,\, y) = y \\
u(t,\, x{=}1,\, y) = y + 1
\end{cases}
$$
$$
\begin{cases}
u(t,\, x,\, y{=}0) = x \\
u(t,\, x,\, y{=}1) = x + 1
\end{cases}
$$
Разностная схема:
$$
\frac{U_{j,k}^{n+1} - U_{j,k}^{n}}{\Delta t}
= \frac{U_{j+1,k}^{n} - 2U_{j,k}^{n} + U_{j-1,k}^{n}}{h_x^2}
+ \frac{U_{j,k+1}^{n} - 2U_{j,k}^{n} + U_{j,k-1}^{n}}{h_y^2}
+ 1 + U_{j,k}^{n}
$$
$$
U_{j,k}^{n+1} = U_{j,k}^{n} + \left[\lambda_{xx}^{n} + \lambda_{yy}^{n} + 1 + U_{j,k}^{n}\right] \Delta t
$$
Начальное условие (Н.У.):
$$
U_{j,k}^{0} = 0
$$
Граничные условия на новом слое:
- ПГУ по $x$: $\quad U_{1,k}^{n+1} = (k-1)\, h_y$
- ПГУ по $x$: $\quad U_{N_x,k}^{n+1} = (k-1)\, h_y + 1$
- ПГУ по $y$: $\quad U_{j,1}^{n+1} = (j-1)\, h_x$
- ПГУ по $y$: $\quad U_{j,N_y}^{n+1} = (j-1)\, h_x + 1$
Блок-схема
[Рисунок: блок-схема явной схемы. Овал — начало. Прямоугольник: $n = 0$. Прямоугольник с вложенными циклами: цикл по $k = [1;\, N_y]$, внутри цикл по $j = [1;\, N_x]$, внутри $U_{j,k}^{0} = 0$ — начальные условия. Ромб: $n < N_t$; ветвь «нет» ведёт к концу; ветвь «да» ведёт вниз. Прямоугольник: ПГУ по $x$; ПГУ по $x$; ПГУ по $y$; ПГУ по $y$. Прямоугольник с вложенными циклами: цикл по $k = [2;\, N_y{-}1]$, внутри цикл по $j = [2;\, N_x{-}1]$, внутри $U_{j,k}^{n+1} = U_{j,k}^{n} + \left[\lambda_{xx}^{n} + \lambda_{yy}^{n} + 1 + U_{j,k}^{n}\right]\Delta t$. Прямоугольник: $n{+}{+}$. Стрелка возврата к ромбу.]
Пример 2. (Метод расщепления — метод дробных шагов)
$$
\frac{\partial u}{\partial t} + \frac{\partial u}{\partial y} = 0{,}7\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}\right) + 1
$$
Начальные и граничные условия:
$$
u(t{=}0,\, x, y) = xy
$$
$$
\begin{cases}
u(t,\, x{=}0,\, y) = t \\
u(t,\, x{=}1,\, y) = t + y
\end{cases}
$$
$$
\begin{cases}
\dfrac{\partial u}{\partial y}(t,\, x,\, y{=}0) = x \\[6pt]
\dfrac{\partial u}{\partial y}(t,\, x,\, y{=}1) = x
\end{cases}
$$
Схема расщепляется на два подшага:
① $\quad$
$$
\frac{U_{j,k}^{n+1/2} - U_{j,k}^{n}}{\Delta t}
+ \frac{U_{j,k}^{n+1/2} - U_{j-1,k}^{n+1/2}}{h_x}
= 0{,}7\,\frac{U_{j+1,k}^{n+1/2} - 2U_{j,k}^{n+1/2} + U_{j-1,k}^{n+1/2}}{h_x^2}
+ 1
$$
② $\quad$
$$
\frac{U_{j,k}^{n+1} - U_{j,k}^{n+1/2}}{\Delta t}
= 0{,}7\,\frac{U_{j,k+1}^{n+1} - 2U_{j,k}^{n+1} + U_{j,k-1}^{n+1}}{h_y^2}
$$
Порядок аппроксимации: $O(\Delta t,\, h_x,\, h_y^2)$
Подшаг 1. Приведение к виду для прогонки
$$
U_{j+1,k}^{n+1/2}\left[\frac{-0{,}7\,\Delta t}{h_x^2}\right]
+ U_{j,k}^{n+1/2}\left[1 + \frac{1{,}4\,\Delta t}{h_x^2} + \frac{\Delta t}{h_x}\right]
+ U_{j-1,k}^{n+1/2}\left[\frac{-\Delta t}{h_x} - \frac{0{,}7\,\Delta t}{h_x^2}\right]
= U_{j,k}^{n} + 1
$$
$$
a_j \qquad\qquad\qquad\qquad\qquad b_j \qquad\qquad\qquad c_j
$$
Условие диагонального преобладания: $|a_j| + |c_j| \leq |b_j| \quad \checkmark$
ПГУ по $x$ — $\alpha_1,\, \beta_1$:
$$
U_{1,k}^{n+1/2} = (n + \tfrac{1}{2})\,\Delta t
\quad \Rightarrow \quad
\alpha_1 = 0, \quad \beta_1 = (n + \tfrac{1}{6})\,\Delta t
$$
ПГУ по $x$ — $U_{N_x,k}^{n+1/2}$:
$$
U_{N_x,k}^{n+1/2} = (n + \tfrac{1}{2})\,\Delta t + (k-1)\,h_y
$$
Подшаг 2. Приведение к виду для прогонки
$$
U_{j,k+1}^{n+1}\left[\frac{-0{,}7\,\Delta t}{h_y^2}\right]
+ U_{j,k}^{n+1}\left[1 + \frac{1{,}4\,\Delta t}{h_y^2}\right]
+ U_{j,k-1}^{n+1}\left[\frac{-0{,}7\,\Delta t}{h_y^2}\right]
= U_{j,k}^{n+1/2}
$$
$$
a_j \qquad\qquad\qquad b_j \qquad\qquad\qquad c_j
$$
Условие диагонального преобладания: $|a_j| + |c_j| \leq |b_j| \quad \checkmark$
ПГУ по $y$ — $\widetilde{\alpha}_1,\, \widetilde{\beta}_1$:
$$
\frac{U_{j,2}^{n+1} - U_{j,1}^{n+1}}{h_y} = (j-1)\,h_x
\quad \Rightarrow \quad
U_{j,1}^{n+1} = (j-1)\,h_x \cdot h_y + U_{j,2}^{n+1}
$$
$$
\widetilde{\alpha}_1 = 1, \qquad \widetilde{\beta}_1 = -h_x h_y (j-1)
$$
ПГУ по $y$ — $U_{j,N_y}^{n+1}$:
$$
\frac{U_{j,N_y}^{n+1} - U_{j,N_y-1}^{n+1}}{h_y} = (j-1)\,h_x
$$
Из формулы прогонки: $U_{j,N_y-1}^{n+1} = \widetilde{\alpha}_{N_y-1} \cdot U_{j,N_y}^{n+1} + \widetilde{\beta}_{N_y-1}$, подставляя:
$$
U_{j,N_y}^{n+1} - \widetilde{\alpha}_{N_y-1}\cdot U_{j,N_y}^{n+1} - \widetilde{\beta}_{N_y-1} = (j-1)\,h_x \cdot h_y
$$
$$
U_{j,N_y}^{n+1}\left[1 - \widetilde{\alpha}_{N_y-1}\right] = (j-1)\,h_x \cdot h_y + \widetilde{\beta}_{N_y-1}
$$
$$
U_{j,N_y}^{n+1} = \frac{\widetilde{\beta}_{N_y-1} + (j-1)\,h_x \cdot h_y}{1 - \widetilde{\alpha}_{N_y-1}}
$$