🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
С0. Типы уравнений, граничные условия, обезразмеривание С1. Обезразмеривание уравнений, типы уравнений С2. Аппроксимация, граничные условия, явная схема С3. Устойчивость явной и неявной схем С4. Алгоритм решения явной и неявной схем С5. Алгоритм решения схемы Кранка-Николсона С6. УрЧП 1-го порядка: устойчивость и алгоритм решения С7. Параболические уравнения с конвективным членом С8. Двумерные уравнения: явная схема и метод расщепления С9. Двумерные уравнения: переменные направления, предиктор-корректор
Семинар 9

Двумерные уравнения: переменные направления, предиктор-корректор

PDF: оригинал конспекта
!4 расхождения — уточнить у преподавателя

Семинар 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. Записать схему
  2. Проверить устойчивость прогонки
  3. Записать блок-схему

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. Записать схему предиктор-корректор
  2. Вывести рекуррентное соотношение для корректора
  3. Записать блок-схему
  4. Определить порядок точности

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} $$

Задача ①: Схема переменных направлений

  1. Записать схему переменных направлений
  2. Проверить сходимость прогонок
  3. Найти $\alpha_1,\, \beta_1,\, \hat{\alpha}_1,\, \hat{\beta}_1$; найти $u_{N_x,k}^{n+1/2}$, $u_{j,N_y}^{n+1}$
  4. Блок-схема

Задача ②: Схема предиктор-корректор

  1. Записать схему предиктор-корректор
  2. Записать рекуррентное соотношение для корректора
  3. Блок-схема

Постскриптум:

  • Стр. 4: в рекуррентной формуле для корректора записано $u_{jk}^{n}$; по смыслу уравнения ③ ожидается $u_{jk}^{n+1/2}$ — оставлено как в оригинале.
  • Стр. 6: начальное условие задано при $t = 3$; возможно, имелось в виду $t = 0$ — оставлено как написано.
  • Стр. 6: в граничных условиях по $x$ написание первой цифры неоднозначно; восстановлено как $x = 0$ и $x = 1$ по контексту (прямоугольная область).

! Места, требующие уточнения у преподавателя

Эти места при переносе материалов на сайт вызвали сомнение: возможная опечатка в оригинале, неоднозначное прочтение рукописного конспекта или расхождение между источниками (методичка / семинар). Показать преподавателю — после подтверждения пометки убираются.

  1. В корректоре u^n вместо u^{n+1/2}. Постскриптум отмечает: в рекуррентной формуле для корректора (стр.4) записано u_{jk}^n, тогда как по смыслу уравнения корректора ожидается u_{jk}^{n+1/2}. Оставлено как в оригинале — стоит уточнить правильный верхний индекс.
  2. Начальное условие при t=3 вместо t=0. Постскриптум: в Д/З (стр.6) начальное условие задано при t=3 (u(t=3,x,y)=0); возможно, имелось в виду t=0. Нужно уточнить, действительно ли начальный момент t=3.
  3. Неоднозначные первые цифры в ГУ по x. Постскриптум: в граничных условиях по x первая цифра в рукописи читается неоднозначно, восстановлена как x=0 и x=1 по контексту прямоугольной области. Стоит подтвердить эти границы.
  4. Пример 3: корректор без множителя Δt у e^{(n+1/2)Δt}. В рекуррентном соотношении корректора (п.2 Примера 3) последнее слагаемое записано как e^{(n+1/2)Δt} без множителя Δt, хотя в общей формуле корректора источник входит как Δt·f. Стоит уточнить, не потерян ли множитель Δt.