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

Алгоритм решения схемы Кранка-Николсона

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

Пример 1

$$ \frac{\partial U}{\partial t} = 4\,\frac{\partial^2 U}{\partial x^2} + t + e^x, \qquad U(t{=}0,\, x) = e^x $$

$$ \begin{cases} U(t,\, x{=}0) = t + 1 \\[4pt] \dfrac{\partial U}{\partial x}(t,\, x{=}1) = 2t + e \end{cases} $$

Алгоритм решения:

  1. Записать схему Кранка-Николсона
  2. Привести к виду, удобному для прогонки
  3. Проверить сходимость прогонки
  4. Вывести $\alpha_j$, $\beta_j$
  5. Получить $\alpha_1$, $\beta_1$ из ЛГУ
  6. Найти $U_{N_x}^{n+1}$ из ПГУ
  7. Записать рекуррентное прогоночное соотношение
  8. Записать блок-схему

1) Схема Кранка-Николсона

$$ \frac{U_j^{n+1} - U_j^n}{\Delta t} = 2\,\frac{U_{j+1}^{n+1} - 2U_j^{n+1} + U_{j-1}^{n+1}}{h^2} + 2\,\frac{U_{j+1}^n - 2U_j^n + U_{j-1}^n}{h^2} + n\Delta t + e^{(j-1)h} $$


2) Приведение к виду для прогонки

$$ U_{j+1}^{n+1}\!\left[\frac{-2\Delta t}{h^2}\right] + U_j^{n+1}\!\left[1 + \frac{4\Delta t}{h^2}\right] + U_{j-1}^{n+1}\!\left[\frac{-2\Delta t}{h^2}\right] = $$

$$ = U_j^n + \frac{2\Delta t}{h^2}\,\frac{U_{j+1}^n - 2U_j^n + U_{j-1}^n}{h^2} \cdot h^2 + \Delta t\!\left[n\Delta t + e^{(j-1)h}\right] $$

Обозначения коэффициентов:

$$ a_j = \frac{-2\Delta t}{h^2}, \qquad b_j = 1 + \frac{4\Delta t}{h^2}, \qquad c_j = \frac{-2\Delta t}{h^2}, \qquad \xi_j^n = \beta_j^n $$


3) Условие сходимости прогонки

$$ |a_j| + |c_j| < |b_j| $$

$$ \frac{4\Delta t}{h^2} < 1 + \frac{4\Delta t}{h^2} \quad \checkmark $$

Условие выполнено при любых $\Delta t$ и $h$.


4) Вывод $\alpha_j$, $\beta_j$

Прогоночное соотношение:

$$ U_{j+1}^{n+1}\cdot[a_j] + U_j^{n+1}\cdot[b_j] + U_{j-1}^{n+1}\cdot[c_j] = \xi_j^n $$

Связь: $U_{j-1}^{n+1} = \alpha_{j-1}\cdot U_j^{n+1} + \beta_{j-1}$. Подставляем:

$$ U_{j+1}^{n+1}\cdot[a_j] + U_j^{n+1}\cdot[b_j] + [c_j]\cdot\left[\alpha_{j-1}\cdot U_j^{n+1} + \beta_{j-1}\right] = \xi_j^n $$

Приводим к виду прогоночного соотношения:

$$ U_j^{n+1} = \alpha_j\cdot U_{j+1}^{n+1} + \beta_j $$

Тогда:

$$ U_j^{n+1} = -\frac{a_j}{b_j + c_j\cdot\alpha_{j-1}}\cdot U_{j+1}^{n+1} + \frac{\xi_j^n - c_j\cdot\beta_{j-1}}{b_j + c_j\cdot\alpha_{j-1}} $$

$$ \alpha_j = -\frac{a_j}{b_j + c_j\cdot\alpha_{j-1}}, \qquad \beta_j = \frac{\xi_j^n - c_j\cdot\beta_{j-1}}{b_j + c_j\cdot\alpha_{j-1}} $$


5) $\alpha_1$, $\beta_1$ из ЛГУ

$$ \frac{U_2^{n+1} - U_1^{n+1}}{h} = \left((n+1)\Delta t\right)^2 $$

$$ U_1^{n+1} = U_2^{n+1} - h\cdot\left[(n+1)\Delta t\right]^2 $$

$$ U_1^{n+1} = \alpha_1\cdot U_2^{n+1} + \beta_1 \quad \Rightarrow $$

$$ \alpha_1 = 1, \qquad \beta_1 = -h\cdot\left((n+1)\Delta t\right)^2 $$


6) $U_{N_x}^{n+1}$ из ПГУ

$$ U_{N_x}^{n+1} = \left((n+1)\Delta t\right)^2 + 1 $$


7) Рекуррентное прогоночное соотношение

$$ U_j^{n+1} = \alpha_{j-1}\cdot U_{j+1}^{n+1} + \beta_{j-1} $$


Пример 2

$$ \frac{\partial U}{\partial t} = 2\,\frac{\partial^2 U}{\partial x^2} + 2U + t^2 + x^3, \qquad U(t{=}0,\, x) = x^3 $$

$$ \begin{cases} \dfrac{\partial U}{\partial x}(t,\, x{=}0) = t^2 \\[6pt] U(t,\, x{=}1) = t^2 + 1 \end{cases} $$

Пп. 1–8 аналогичны примеру 1.


1) Схема Кранка-Николсона

$$ \frac{U_j^{n+1} - U_j^n}{\Delta t} = \frac{U_{j+1}^{n+1} - 2U_j^{n+1} + U_{j-1}^{n+1}}{h^2} + \frac{U_{j+1}^n - 2U_j^n + U_{j-1}^n}{h} + U_j^{n+1} + U_j^n + (n\Delta t)^2 + \left[(j-1)h\right]^3 $$


2) Приведение к виду для прогонки

$$ U_{j+1}^{n+1}\!\left[\frac{-\Delta t}{h^2}\right] + U_j^{n+1}\!\left[1 + \frac{2\Delta t}{h^2} - \Delta t\right] + U_{j-1}^{n+1}\!\left[\frac{-\Delta t}{h^2}\right] = $$

$$ = U_j^n + \Delta t\cdot U_j^n + \Delta t\cdot\left[(n\Delta t)^2 + \left[(j-1)h\right]^3\right] $$


3) Условие сходимости

$$ \frac{\Delta t}{h^2} + \frac{\Delta t}{h^2} \leq 1 + \frac{2\Delta t}{h^2} - \Delta t $$

$$ 0 < 1 - \Delta t $$

$$ \Delta t < 1 $$


4) См. пример 1.


5) $\alpha_1$, $\beta_1$ из ЛГУ

$$ U_1^{n+1} = (n+1)\Delta t + 1 $$

$$ U_1^{n+1} = \alpha_1\cdot U_2^{n+1} + \beta_1^{n+1} $$

$$ U_1^{n+1} = 0\cdot U_2^{n+1} + (n+1)\Delta t + 1 \quad \Rightarrow $$

$$ \alpha_1 = 0, \qquad \beta_1 = (n+1)\Delta t + 1 $$


6) $U_{N_x}^{n+1}$ из ПГУ

$$ \frac{U_{N_x}^{n+1} - U_{N_x-1}^{n+1}}{h} = 2{,}7 + (n+1)\Delta t $$

Используя связь $U_{N_x-1}^{n+1} = \alpha_{N_x-1}\cdot U_{N_x}^{n+1} + \beta_{N_x-1}$:

$$ \frac{U_{N_x}^{n+1} - \alpha_{N_x-1}\cdot U_{N_x}^{n+1} - \beta_{N_x-1}}{h} = 2{,}7 + (n+1)\Delta t $$

$$ U_{N_x}^{n+1} = \frac{\left[2{,}7 + (n+1)\Delta t\right]h + \beta_{N_x-1}}{1 - \alpha_{N_x-1}} $$


7) Рекуррентное прогоночное соотношение

$$ U_j^{n+1} = \alpha_j\cdot U_{j+1}^{n+1} + \beta_j $$


Д/З. Семинар 6


Задача 1

$$ \frac{\partial U}{\partial t} = 10^{-2}\,\frac{\partial^2 U}{\partial x^2} - 10^{-3}U + tx $$

$$ U(t{=}0,\, x) = 0 $$

$$ \begin{cases} \dfrac{\partial U}{\partial x}(t,\, x{=}0) = t \\[6pt] \dfrac{\partial U}{\partial x}(t,\, x{=}1) = 2t \end{cases} $$

Пп. 1–8 примера 1 из семинара 5.


Задача 2

$$ \frac{\partial U}{\partial t} = 10^{-5}\,\frac{\partial^2 U}{\partial x^2} + 10^{-4}U + t^2 $$

$$ U(t{=}0,\, x) = x $$

$$ \begin{cases} U(t,\, x{=}0) = t^2 \\[6pt] \dfrac{\partial U}{\partial t}(t,\, x{=}1) = t + U(t,\, x{=}1) \end{cases} $$

Пп. 1–7 примера 1.


Постскриптум: В п. 1 примера 1 (стр. 1) правая часть схемы Кранка-Николсона содержит делитель $h^2$ во втором слагаемом правой части: в оригинале знаменатель у второй дроби написан как $h$ (без квадрата), что противоречит стандартной форме схемы — восстановлено как $h^2$. В задаче 2 семинара 6 второе граничное условие записано через $\partial U / \partial t$, что нетипично; сохранено как в оригинале.

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

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

  1. Знаменатель h вместо h² в схеме Кранка-Николсона. В постскриптуме отмечено: в Примере 1 (п.1) у второй дроби правой части схемы Кранка-Николсона в оригинале стоял знаменатель h (без квадрата), что противоречит стандартной форме; восстановлено h². То же повторяется в Примере 2 (п.1), где у одного диффузионного слагаемого записан /h, а не /h². Нужно подтвердить, что должно быть h² в обоих местах.
  2. ГУ через ∂U/∂t в задаче 2 (Д/З к семинару 6). Постскриптум указывает: во второй задаче домашнего задания второе граничное условие записано как ∂U/∂t(t, x=1) = t + U, что нетипично (обычно ГУ задаются через производную по координате). Сохранено как в оригинале — стоит уточнить, не описка ли это.
  3. Несогласованные индексы в рекуррентном соотношении (п.7). В Примере 1 (п.7) итоговое прогоночное соотношение записано как U_j = α_{j-1}·U_{j+1} + β_{j-1}, тогда как в Примере 2 и в выводе (п.4) то же соотношение имеет вид U_j = α_j·U_{j+1} + β_j. Похоже на ошибку индексов при транскрибации; стоит уточнить правильную форму.