Семинар 9
$$
\frac{\partial u}{\partial t} = \sigma\,\frac{\partial^2 u}{\partial x^2} + \sigma\,\frac{\partial^2 u}{\partial y^2} + f(t,x,y)
$$
Схема переменных направлений
① Подсхема: неявная по $x$, т.е. на уровне $n+1/2$; явная по $y$ на $n$
② Подсхема: неявная по $y$ на $n+1$; явная по $x$ на $n+1/2$
$$
\text{①} \quad \frac{u_{jk}^{n+1/2} - u_{jk}^{n}}{\Delta t} = \frac{\sigma}{2}\,\Lambda_{xx}^{n+1/2} + \frac{\sigma}{2}\,\Lambda_{yy}^{n}
$$
$$
\text{②} \quad \frac{u_{jk}^{n+1} - u_{jk}^{n+1/2}}{\Delta t} = \frac{\sigma}{2}\,\Lambda_{xx}^{n+1/2} + \frac{\sigma}{2}\,\Lambda_{yy}^{n+1} + f_{jk}^{n+1/2}
$$
В сумме:
$$
\frac{u_{jk}^{n+1} - u_{jk}^{n}}{\Delta t} = \sigma\Lambda_{xx}^{n+1/2} + \frac{\sigma}{2}\,\Lambda_{yy}^{n+1} + \frac{\sigma}{2}\,\Lambda_{yy}^{n} + f_{jk}^{n+1/2}
$$
Правая часть уравнения аппроксимирована относительно точки $t^{n+1/2}$. Это значит, что конечная разность по времени является центральной к.р. и имеет 2-й порядок аппроксимации:
$$
O\!\left(\Delta t^2,\; h_x^2,\; h_y^2\right)
$$
Пример 1. Схема переменных направлений
$$
\frac{\partial u}{\partial t} = 10\,\frac{\partial^2 u}{\partial x^2} + 8\,\frac{\partial^2 u}{\partial y^2} + t + xy
$$
- Записать схему
- Проверить устойчивость прогонки
- Записать блок-схему
1. Схема
$$
\text{①} \quad \frac{u_{jk}^{n+1/2} - u_{jk}^{n}}{\Delta t} = 5\,\frac{u_{j+1,k}^{n+1/2} - 2u_{jk}^{n+1/2} + u_{j-1,k}^{n+1/2}}{h_x^2} + 4\,\frac{u_{jk+1}^{n} - 2u_{jk}^{n} + u_{jk-1}^{n}}{h_y^2}
$$
$$
\text{②} \quad \frac{u_{jk}^{n+1} - u_{jk}^{n+1/2}}{\Delta t} = 5\,\frac{u_{j+1,k}^{n+1/2} - 2u_{jk}^{n+1/2} + u_{j-1,k}^{n+1/2}}{h_x^2} + 4\,\frac{u_{jk+1}^{n+1} - 2u_{jk}^{n+1} + u_{jk-1}^{n+1}}{h_y^2} + \left(n+\tfrac{1}{2}\right)\Delta t + (j-1)h_x(k-1)h_y
$$
2. Прогоночный вид и устойчивость
Приведём каждую подсхему к виду, удобному для прогонки.
Подсхема ①:
$$
u_{j+1,k}^{n+1/2}\!\left[\frac{-5\Delta t}{h_x^2}\right] + u_{jk}^{n+1/2}\!\left[1 + \frac{10\Delta t}{h_x^2}\right] + u_{j-1,k}^{n+1/2}\!\left[\frac{-5\Delta t}{h_x^2}\right] = u_{jk}^{n} + 4\Delta t\,\Lambda_{yy}^{n}
$$
$$
a_j = \frac{-5\Delta t}{h_x^2}, \quad b_j = 1 + \frac{10\Delta t}{h_x^2}, \quad c_j = \frac{-5\Delta t}{h_x^2}
$$
$$
\left|\frac{-5\Delta t}{h_x^2}\right| + \left|\frac{-5\Delta t}{h_x^2}\right| < \left|1 + \frac{10\Delta t}{h_x^2}\right| \quad \Rightarrow \quad \text{прогонка сходится}
$$
Подсхема ②:
$$
u_{jk+1}^{n+1}\!\left[\frac{-4\Delta t}{h_y^2}\right] + u_{jk}^{n+1}\!\left[1 + \frac{8\Delta t}{h_y^2}\right] + u_{jk-1}^{n+1}\!\left[\frac{-4\Delta t}{h_y^2}\right] = u_{jk}^{n+1/2} + 5\Delta t\,\Lambda_{xx}^{n+1/2} + \Delta t\!\left[\left(n+\tfrac{1}{2}\right)\Delta t + (j-1)h_x(k-1)h_y\right]
$$
$$
a_j = \frac{-4\Delta t}{h_y^2}, \quad b_j = 1 + \frac{8\Delta t}{h_y^2}, \quad c_j = \frac{-4\Delta t}{h_y^2}
$$
$$
\left|\frac{-4\Delta t}{h_y^2}\right| + \left|\frac{-4\Delta t}{h_y^2}\right| < \left|1 + \frac{8\Delta t}{h_y^2}\right| \quad \Rightarrow \quad \text{прогонка сходится}
$$
Пример 2. Схема переменных направлений
$$
\frac{\partial u}{\partial t} = 4\,\frac{\partial^2 u}{\partial x^2} + 6\,\frac{\partial^2 u}{\partial y^2} - 2u + t
$$
Схема
$$
\text{①} \quad \frac{u_{jk}^{n+1/2} - u_{jk}^{n}}{\Delta t} = 2\Lambda_{xx}^{n+1/2} + 3\Lambda_{yy}^{n}
$$
$$
\text{②} \quad \frac{u_{jk}^{n+1} - u_{jk}^{n+1/2}}{\Delta t} = 2\Lambda_{xx}^{n+1/2} + 3\Lambda_{yy}^{n+1} - 2u_{jk}^{n+1/2} + \left(n+\tfrac{1}{2}\right)\Delta t
$$
Проверим сходимость прогонок
Подсхема ①:
$$
u_{j+1,k}^{n+1/2}\!\left[\frac{-2\Delta t}{h_x^2}\right] + u_{jk}^{n+1/2}\!\left[1 + \frac{4\Delta t}{h_x^2}\right] + u_{j-1,k}^{n+1/2}\!\left[\frac{-2\Delta t}{h_x^2}\right] = u_{jk}^{n} + 3\Delta t\,\Lambda_{yy}^{n}
$$
$$
a_j = \frac{-2\Delta t}{h_x^2}, \quad b_j = 1 + \frac{4\Delta t}{h_x^2}, \quad c_j = \frac{-2\Delta t}{h_x^2}
$$
Прогонка устойчива: $|a_j| + |c_j| \leq |b_j|$
Подсхема ②:
$$
u_{jk+1}^{n+1}\!\left[\frac{-3\Delta t}{h_y^2}\right] + u_{jk}^{n+1}\!\left[1 + \frac{6\Delta t}{h_y^2}\right] + u_{jk-1}^{n+1}\!\left[\frac{-3\Delta t}{h_y^2}\right] = u_{jk}^{n+1/2} + 2\Delta t\,\Lambda_{xx}^{n+1/2} - 2\Delta t\,u_{jk}^{n+1/2} + \left(n+\tfrac{1}{2}\right)\Delta t^2
$$
$$
a_j = \frac{-3\Delta t}{h_y^2}, \quad b_j = 1 + \frac{6\Delta t}{h_y^2}, \quad c_j = \frac{-3\Delta t}{h_y^2}
$$
Прогонка устойчива
Схема предиктор-корректор
$$
\frac{\partial u}{\partial t} = \sigma\,\frac{\partial^2 u}{\partial x^2} + \sigma\,\frac{\partial^2 u}{\partial y^2} + f(t,x,y)
$$
[Рисунок: вертикальная ось времени с отметками снизу вверх: $n$ (по $x$), $n+1/4$ (по $y$), $n+1/2$ (предиктор по $y$), $n+1$ (корректор); каждая отметка обозначена кружком]
① Предиктор по $x$:
$$
\frac{u_{jk}^{n+1/4} - u_{jk}^{n}}{\Delta t/2} = \sigma\Lambda_{xx}^{n+1/4}
$$
② Предиктор по $y$:
$$
\frac{u_{jk}^{n+1/2} - u_{jk}^{n+1/4}}{\Delta t/2} = \sigma\Lambda_{yy}^{n+1/2}
$$
③ Корректор:
$$
\frac{u_{jk}^{n+1} - u_{jk}^{n+1/2}}{\Delta t} = \sigma\Lambda_{xx}^{n+1/2} + \sigma\Lambda_{yy}^{n+1/2} + f_{jk}^{n+1/2}
$$
Правая часть корректора аппроксимирована относительно точки $t^{n+1/2}$. Значит, к.р. по времени в корректоре является центральной и имеет 2-й порядок точности.
Корректор повышает точность схемы по времени:
$$
O\!\left(\Delta t^2,\; h_x^2,\; h_y^2\right)
$$
Для решения корректора рекуррентное соотношение:
$$
u_{jk}^{n+1} = u_{jk}^{n} + \sigma\Delta t\,\Lambda_{xx}^{n+1/2} + \sigma\Delta t\,\Lambda_{yy}^{n+1/2} + \Delta t\,f_{jk}^{n+1/2}
$$
Пример 3. Схема предиктор-корректор
$$
\frac{\partial u}{\partial t} = 3\,\frac{\partial^2 u}{\partial x^2} + 4\,\frac{\partial^2 u}{\partial y^2} + e^{t}
$$
- Записать схему предиктор-корректор
- Вывести рекуррентное соотношение для корректора
- Записать блок-схему
- Определить порядок точности
1. Схема
① Предиктор по $x$:
$$
\frac{u_{jk}^{n+1/4} - u_{jk}^{n}}{\Delta t/2} = 3\,\frac{u_{j+1,k}^{n+1/4} - 2u_{jk}^{n+1/4} + u_{j-1,k}^{n+1/4}}{h_x^2}
$$
② Предиктор по $y$:
$$
\frac{u_{jk}^{n+1/2} - u_{jk}^{n+1/4}}{\Delta t/2} = 4\,\frac{u_{jk+1}^{n+1/2} - 2u_{jk}^{n+1/2} + u_{jk-1}^{n+1/2}}{h_y^2}
$$
③ Корректор:
$$
\frac{u_{jk}^{n+1} - u_{jk}^{n+1/2}}{\Delta t} = 3\Lambda_{xx}^{n+1/2} + 4\Lambda_{yy}^{n+1/2} + e^{(n+1/2)\Delta t}
$$
2. Рекуррентное соотношение для корректора
$$
u_{jk}^{n+1} = u_{jk}^{n+1/2} + 3\Delta t\,\Lambda_{xx}^{n+1/2} + 4\Delta t\,\Lambda_{yy}^{n+1/2} + e^{(n+1/2)\Delta t}
$$
4. Порядок точности
$$
O\!\left(\Delta t^2,\; h_x^2,\; h_y^2\right)
$$
Д/З 9 (на 16.04)
$$
\frac{\partial u}{\partial t} = 12\,\frac{\partial^2 u}{\partial x^2} + 18\,\frac{\partial^2 u}{\partial y^2} - u + xy, \quad u = u(t,x,y)
$$
Начальное условие: $u(t=3,\, x,\, y) = 0$
Краевые условия:
$$
\begin{cases} u(t,\; x=0,\; y) = y + t \\ u(t,\; x=1,\; y) = y + t + 1 \end{cases} \qquad \begin{cases} u(t,\; x,\; y=0) = x + t \\ u(t,\; x,\; y=1) = x + t + 1 \end{cases}
$$
Задача ①: Схема переменных направлений
- Записать схему переменных направлений
- Проверить сходимость прогонок
- Найти $\alpha_1,\, \beta_1,\, \hat{\alpha}_1,\, \hat{\beta}_1$; найти $u_{N_x,k}^{n+1/2}$, $u_{j,N_y}^{n+1}$
- Блок-схема
Задача ②: Схема предиктор-корректор
- Записать схему предиктор-корректор
- Записать рекуррентное соотношение для корректора
- Блок-схема
Постскриптум:
- Стр. 4: в рекуррентной формуле для корректора записано $u_{jk}^{n}$; по смыслу уравнения ③ ожидается $u_{jk}^{n+1/2}$ — оставлено как в оригинале.
- Стр. 6: начальное условие задано при $t = 3$; возможно, имелось в виду $t = 0$ — оставлено как написано.
- Стр. 6: в граничных условиях по $x$ написание первой цифры неоднозначно; восстановлено как $x = 0$ и $x = 1$ по контексту (прямоугольная область).