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

Устойчивость явной и неявной схем

PDF: оригинал конспекта

Общий алгоритм анализа устойчивости

Для проверки устойчивости схемы используется метод гармоник (метод фон Неймана):

  1. Отбросить свободные члены (правые части уравнения).
  2. Подставить гармонику $u_{j}^{n} = \lambda^{n} e^{i\alpha j}$.
  3. Выразить $\lambda$ через параметры сетки.
  4. Применить условие устойчивости: $|\lambda| \leqslant 1$.

Полезное тождество, используемое в каждом примере:

$$ e^{i\alpha} - 2 + e^{-i\alpha} = 2\cos\alpha - 2 = -4\sin^{2}\frac{\alpha}{2} $$


Явная схема: условие устойчивости

Пример 1.

$$ \frac{\partial u}{\partial t} = 10\frac{\partial^{2} u}{\partial x^{2}} + e^{t} e^{x}, \quad t \in [0,1],\quad x \in [0,1],\quad h = 10^{-1} $$

$$ u(t{=}0,\, x) = e^{x}, \qquad \frac{\partial u}{\partial x}(t,\, x{=}0) = e^{t}, \qquad \frac{\partial u}{\partial x}(t,\, x{=}1) = e \cdot e^{t} $$

а) Явная разностная схема:

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

Аппроксимация условий:

$$ u_{j}^{0} = e^{(j-1)h} $$

$$ \frac{u_{2}^{n+1} - u_{1}^{n+1}}{h} = e^{(n+1)\Delta t} \quad \Rightarrow \quad u_{1}^{n+1} = u_{2}^{n+1} - h \cdot e^{(n+1)\Delta t} $$

$$ \frac{u_{N}^{n+1} - u_{N-1}^{n+1}}{h} = e \cdot e^{(n+1)\Delta t} \quad \Rightarrow \quad u_{N}^{n+1} = u_{N-1}^{n+1} + h \cdot e \cdot e^{(n+1)\Delta t} $$

б) Анализ устойчивости:

Шаг 1. Отбрасываем свободный член:

$$ \frac{u_{j}^{n+1} - u_{j}^{n}}{\Delta t} = 10\,\frac{u_{j+1}^{n} - 2u_{j}^{n} + u_{j-1}^{n}}{h^{2}} $$

Шаг 2. Подставляем $u_{j}^{n} = \lambda^{n} e^{i\alpha j}$:

$$ \frac{\lambda - 1}{\Delta t} = 10\,\frac{e^{i\alpha} - 2 + e^{-i\alpha}}{h^{2}} = \frac{-40\sin^{2}\dfrac{\alpha}{2}}{h^{2}} $$

$$ \lambda = 1 - \frac{40\,\Delta t}{h^{2}}\sin^{2}\frac{\alpha}{2} $$

Шаг 3. Условие устойчивости $|\lambda| \leqslant 1$. Правая граница выполняется автоматически. Из левой при $\sin^{2}\dfrac{\alpha}{2} = 1$:

$$ 1 - \frac{40\,\Delta t}{h^{2}} \geqslant -1 \quad \Rightarrow \quad \frac{40\,\Delta t}{h^{2}} \leqslant 2 \quad \Rightarrow \quad \Delta t \leqslant \frac{h^{2}}{20} $$

При $h = 10^{-1}$:

$$ \Delta t \leqslant \frac{10^{-2}}{20} = 5 \cdot 10^{-4} $$

При уменьшении шага по пространству до $h = 0{,}01$ потребуется $\Delta t \leqslant 5 \cdot 10^{-6}$ — явная схема становится крайне дорогой.

Пример 2.

$$ \frac{\partial u}{\partial t} = 100\frac{\partial^{2} u}{\partial x^{2}} - u + e^{t}, \quad t \in [0,1],\quad x \in [0,1] $$

$$ u(t{=}0,\, x) = 1, \qquad u(t,\, x{=}0) = e^{t}, \qquad u(t,\, x{=}1) = e^{t+\ln 5{,}1} $$

Явная разностная схема:

$$ \frac{u_{j}^{n+1} - u_{j}^{n}}{\Delta t} = 100\,\frac{u_{j+1}^{n} - 2u_{j}^{n} + u_{j-1}^{n}}{h^{2}} - u_{j}^{n} + e^{n\Delta t} $$

Анализ устойчивости. Отбрасываем $e^{n\Delta t}$, подставляем гармонику:

$$ \frac{\lambda - 1}{\Delta t} = 100\,\frac{-4\sin^{2}\dfrac{\alpha}{2}}{h^{2}} - 1 $$

$$ \lambda = 1 - \frac{400\,\Delta t}{h^{2}}\sin^{2}\frac{\alpha}{2} - \Delta t $$

Условие $\lambda \geqslant -1$ при $\sin^{2}\dfrac{\alpha}{2} = 1$:

$$ 1 - \frac{400\,\Delta t}{h^{2}} - \Delta t \geqslant -1 $$

$$ \Delta t\!\left(\frac{400}{h^{2}} + 1\right) \leqslant 2 \quad \Rightarrow \quad \Delta t \leqslant \frac{2h^{2}}{h^{2} + 400} $$

При $h = 10^{-2}$:

$$ \Delta t \leqslant \frac{2 \cdot 10^{-4}}{10^{-4} + 400} \approx 5 \cdot 10^{-7} $$


Неявная схема: безусловная устойчивость

Пример 3.

$$ \frac{\partial u}{\partial t} = 20\frac{\partial^{2} u}{\partial x^{2}} + t^{2} x^{2} + 5, \quad x \in [0,1],\quad t \in [0,T] $$

$$ u(t{=}0,\, x) = 5, \qquad u(t,\, x{=}0) = 5, \qquad u(t,\, x{=}1) = t^{2} + 5 $$

Неявная разностная схема:

$$ \frac{u_{j}^{n+1} - u_{j}^{n}}{\Delta t} = 20\,\frac{u_{j+1}^{n+1} - 2u_{j}^{n+1} + u_{j-1}^{n+1}}{h^{2}} + (n\Delta t)^{2}(j-1)^{2}h^{2} + 5 $$

Анализ устойчивости. Подставляем гармонику $u_{j}^{n} = \lambda^{n} e^{i\alpha j}$ в однородную часть:

$$ \frac{\lambda - 1}{\Delta t} = 20\,\frac{\lambda\left(-4\sin^{2}\dfrac{\alpha}{2}\right)}{h^{2}} $$

$$ \lambda\!\left(1 + \frac{80\,\Delta t}{h^{2}}\sin^{2}\frac{\alpha}{2}\right) = 1 \quad \Rightarrow \quad \lambda = \frac{1}{1 + \dfrac{80\,\Delta t}{h^{2}}\sin^{2}\dfrac{\alpha}{2}} $$

Знаменатель $\geqslant 1$ при любых $\Delta t > 0$, $h > 0$, поэтому $0 < \lambda \leqslant 1$.

$$ \Rightarrow \quad \textbf{Неявная схема абсолютно устойчива} $$


Пример 4.

$$ \frac{\partial u}{\partial t} = 4\frac{\partial^{2} u}{\partial x^{2}} - u + 8, \quad x \in [0,1],\quad t \in [0,1] $$

$$ u(t{=}0,\, x) = 8, \qquad u(t,\, x{=}0) = 0, \qquad u(t,\, x{=}1) = 1 $$

Неявная разностная схема:

$$ \frac{u_{j}^{n+1} - u_{j}^{n}}{\Delta t} = 4\,\frac{u_{j+1}^{n+1} - 2u_{j}^{n+1} + u_{j-1}^{n+1}}{h^{2}} - u_{j}^{n+1} + 8 $$

Анализ устойчивости. Отбрасываем $8$, подставляем гармонику:

$$ \frac{\lambda - 1}{\Delta t} = 4\,\frac{\lambda\!\left(-4\sin^{2}\dfrac{\alpha}{2}\right)}{h^{2}} - \lambda $$

$$ \lambda\!\left(1 + \frac{16\,\Delta t}{h^{2}}\sin^{2}\frac{\alpha}{2} + \Delta t\right) = 1 $$

$$ \lambda = \frac{1}{1 + \dfrac{16\,\Delta t}{h^{2}}\sin^{2}\dfrac{\alpha}{2} + \Delta t} < 1 $$

$$ \Rightarrow \quad \textbf{Неявная схема абсолютно устойчива} $$


Домашнее задание

Записать явную и неявную схемы, проверить устойчивость при $h = 10^{-4}$.

Задача 1.

$$ \frac{\partial u}{\partial t} = 10^{4}\frac{\partial^{2} u}{\partial x^{2}} + t \cdot x $$

$$ u(t{=}0,\, x) = 0, \qquad \frac{\partial u}{\partial x}(t,\, x{=}0) = t, \qquad \frac{\partial u}{\partial x}(t,\, x{=}1) = t + 1 $$


Задача 2.

$$ \frac{\partial u}{\partial t} = 5\frac{\partial^{2} u}{\partial x^{2}} - 10u + t^{2} + x^{2} $$

$$ u(t{=}0,\, x) = x^{2} $$