🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
Раздел 5: задачи
5.1 5.2 5.3 5.4 5.5 5.6 5.7
← К задачнику
Задачник · решения

Раздел 5. Записать для уравнения неявную разностную схему. Привести её к виду, удобному для использования метода прогонки. Проверить сходимость прогонки. Записать рекуррентное прогоночное соотношение. Найти α₁, β₁. Найти $u_N^{n+1}$. Привести алгоритм решения

Подробные решения задач раздела методами курса. Условия задач и весь список — на странице «Задачник».

Задача 5.1

$$2\frac{\partial u}{\partial t} = 3\frac{\partial^2 u}{\partial x^2} - 6tx$$
$$u = u(t, x), \quad u(t=0, x) = 0$$
$$\begin{cases} \dfrac{\partial u}{\partial x}(t, x=0) = 2u(t, x=0) \\[2mm] \dfrac{\partial u}{\partial x}(t, x=1) = 3u(t, x=1) \end{cases}$$

Решение

Уравнение и условия

$$2\frac{\partial u}{\partial t}=3\frac{\partial^2 u}{\partial x^2}-6tx,\qquad u(t{=}0,x)=0$$$$\frac{\partial u}{\partial x}(t,0)=2u(t,0),\qquad \frac{\partial u}{\partial x}(t,1)=3u(t,1)$$

Удобно поделить уравнение на 2: $u_t=\tfrac32 u_{xx}-3tx$, то есть $\sigma=\tfrac32$, $f=-3tx$.

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

Производную по координате берём на новом $(n+1)$-м слое, свободный член — на старом:

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

Начальное условие на сетке: $u_j^0=0$.

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

Умножаем на $\tfrac{\Delta t}{2}$ и переносим неизвестные слоя $(n{+}1)$ влево ($\,a_j u_{j+1}^{n+1}+b_j u_j^{n+1}+c_j u_{j-1}^{n+1}=\xi_j^n$):

$$\underbrace{-\frac{3\Delta t}{2h^2}}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{3\Delta t}{h^2}\Big)}_{b_j}u_j^{n+1}\underbrace{-\frac{3\Delta t}{2h^2}}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n-3\,n\Delta t\,(j-1)h\cdot\tfrac{\Delta t}{2}}_{\xi_j^n}$$$$a_j=c_j=-\frac{3\Delta t}{2h^2},\quad b_j=1+\frac{3\Delta t}{h^2},\quad \xi_j^n=u_j^n-3\,n(j-1)h\,\frac{\Delta t^2}{2}$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{3\Delta t}{h^2}<1+\frac{3\Delta t}{h^2}=|b_j|$$

Диагональное преобладание выполнено при любых $\Delta t,h$ — прогонка сходится.

4. Рекуррентное прогоночное соотношение

Полагаем $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$. Подставив $u_{j-1}^{n+1}=\alpha_{j-1}u_j^{n+1}+\beta_{j-1}$, получаем общие формулы:

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 3-й род)

Аппроксимируем $u_x(t,0)=2u(t,0)$ правой разностью:

$$\frac{u_2^{n+1}-u_1^{n+1}}{h}=2u_1^{n+1}\;\Rightarrow\; u_1^{n+1}=\frac{1}{1+2h}\,u_2^{n+1}$$

Сравнивая с $u_1^{n+1}=\alpha_1 u_2^{n+1}+\beta_1$:

$$\boxed{\alpha_1=\frac{1}{1+2h},\qquad \beta_1=0}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 3-й род)

$u_x(t,1)=3u(t,1)$ левой разностью: $\dfrac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=3u_N^{n+1}$. Подставляем $u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$:

$$u_N^{n+1}-\alpha_{N-1}u_N^{n+1}-\beta_{N-1}=3h\,u_N^{n+1}$$$$\boxed{u_N^{n+1}=\frac{\beta_{N-1}}{1-3h-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Задача 5.2

$$4\frac{\partial u}{\partial t} = 5t\frac{\partial^2 u}{\partial x^2} - 3u$$
$$u = u(t, x), \quad u(t=0, x) = 0$$
$$\begin{cases} \dfrac{\partial u}{\partial x}(t, x=0) = 3 \\[2mm] \dfrac{\partial u}{\partial x}(t, x=1) = t^2 \end{cases}$$

Решение

Уравнение и условия

$$4\frac{\partial u}{\partial t}=5t\frac{\partial^2 u}{\partial x^2}-3u,\qquad u(t{=}0,x)=0$$$$\frac{\partial u}{\partial x}(t,0)=3,\qquad \frac{\partial u}{\partial x}(t,1)=t^2$$

Коэффициент диффузии переменный: $\sigma(t)=\tfrac54 t$, реакция $-\tfrac34 u$ (после деления на 4).

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

Все члены слоя $(n+1)$; переменный коэффициент $5t$ берём на новом слое $t^{n+1}=(n+1)\Delta t$:

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

Начальное условие: $u_j^0=0$.

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

Обозначим $\sigma_{n+1}=5(n+1)\Delta t$. Делим на 4, переносим неизвестные влево:

$$\underbrace{-\frac{\sigma_{n+1}\Delta t}{4h^2}}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{\sigma_{n+1}\Delta t}{2h^2}+\frac{3\Delta t}{4}\Big)}_{b_j}u_j^{n+1}\underbrace{-\frac{\sigma_{n+1}\Delta t}{4h^2}}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n}_{\xi_j^n}$$$$a_j=c_j=-\frac{5(n+1)\Delta t^2}{4h^2},\quad b_j=1+\frac{5(n+1)\Delta t^2}{2h^2}+\frac{3\Delta t}{4},\quad \xi_j^n=u_j^n$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{5(n+1)\Delta t^2}{2h^2}<1+\frac{5(n+1)\Delta t^2}{2h^2}+\frac{3\Delta t}{4}=|b_j|$$

Реакция $-3u$ лишь увеличивает $b_j$ — преобладание усиливается, прогонка сходится при любых $\Delta t,h$.

4. Рекуррентное прогоночное соотношение

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 2-й род)

$$\frac{u_2^{n+1}-u_1^{n+1}}{h}=3\;\Rightarrow\;u_1^{n+1}=u_2^{n+1}-3h$$$$\boxed{\alpha_1=1,\qquad \beta_1=-3h}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 2-й род)

$\dfrac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=\big((n+1)\Delta t\big)^2$, подставляем $u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$:

$$\boxed{u_N^{n+1}=\frac{\big((n+1)\Delta t\big)^2 h+\beta_{N-1}}{1-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Задача 5.3

$$\frac{\partial u}{\partial t} = 8\frac{\partial^2 u}{\partial x^2} - 4u^2$$
$$u = u(t, x), \quad u(t=0, x) = 0$$
$$\begin{cases} \dfrac{\partial u}{\partial x}(t, x=0) = u(t, x=0) \\[2mm] u(t, x=1) = e^t - 1 \end{cases}$$

Решение

Уравнение и условия

$$\frac{\partial u}{\partial t}=8\frac{\partial^2 u}{\partial x^2}-4u^2,\qquad u(t{=}0,x)=0$$$$\frac{\partial u}{\partial x}(t,0)=u(t,0),\qquad u(t,1)=e^t-1$$

$\sigma=8$. Член $-4u^2$ нелинейный — линеаризуем, взяв один множитель с известного слоя $n$: $u^2\approx u_j^{n}\,u_j^{n+1}$. Тогда он даёт вклад $-4u_j^n$ в коэффициент $b_j$ (как линейная реакция с переменным коэффициентом).

1. Неявная разностная схема (с линеаризацией)

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

Начальное условие: $u_j^0=0$.

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

$$\underbrace{-\frac{8\Delta t}{h^2}}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{16\Delta t}{h^2}+4\Delta t\,u_j^n\Big)}_{b_j}u_j^{n+1}\underbrace{-\frac{8\Delta t}{h^2}}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n}_{\xi_j^n}$$$$a_j=c_j=-\frac{8\Delta t}{h^2},\quad b_j=1+\frac{16\Delta t}{h^2}+4\Delta t\,u_j^n,\quad \xi_j^n=u_j^n$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{16\Delta t}{h^2}<1+\frac{16\Delta t}{h^2}+4\Delta t\,u_j^n=|b_j|$$

При $u_j^n\ge0$ слагаемое $4\Delta t\,u_j^n$ неотрицательно и усиливает преобладание; прогонка сходится.

4. Рекуррентное прогоночное соотношение

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 3-й род)

$$\frac{u_2^{n+1}-u_1^{n+1}}{h}=u_1^{n+1}\;\Rightarrow\;u_1^{n+1}=\frac{1}{1+h}\,u_2^{n+1}$$$$\boxed{\alpha_1=\frac{1}{1+h},\qquad \beta_1=0}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 1-й род)

Условие первого рода задаёт значение напрямую:

$$\boxed{u_N^{n+1}=e^{(n+1)\Delta t}-1}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Задача 5.4

$$\frac{\partial u}{\partial t} + 6\frac{\partial u}{\partial x} = 7\frac{\partial^2 u}{\partial x^2} - t^2 x$$
$$u = u(t, x), \quad u(t=0, x) = x$$
$$\begin{cases} u(t, x=0) = t^2 \\[2mm] \dfrac{\partial u}{\partial x}(t, x=1) = 2u(t, x=1) - 3 \end{cases}$$

Решение

Уравнение и условия

$$\frac{\partial u}{\partial t}+6\frac{\partial u}{\partial x}=7\frac{\partial^2 u}{\partial x^2}-t^2x,\qquad u(t{=}0,x)=x$$$$u(t,0)=t^2,\qquad \frac{\partial u}{\partial x}(t,1)=2u(t,1)-3$$

Есть конвективный член $+6u_x$ ($a=6>0$). Для устойчивости берём разность против потока (левую) $\dfrac{u_j^{n+1}-u_{j-1}^{n+1}}{h}$ — тогда внедиагональные коэффициенты остаются отрицательными и сохраняется диагональное преобладание.

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

$$\frac{u_j^{n+1}-u_j^n}{\Delta t}+6\frac{u_j^{n+1}-u_{j-1}^{n+1}}{h}=7\frac{u_{j+1}^{n+1}-2u_j^{n+1}+u_{j-1}^{n+1}}{h^2}-\big((n+1)\Delta t\big)^2(j-1)h$$

Начальное условие: $u_j^0=(j-1)h$.

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

Умножаем на $\Delta t$, группируем неизвестные слоя $(n{+}1)$:

$$\underbrace{-\frac{7\Delta t}{h^2}}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{6\Delta t}{h}+\frac{14\Delta t}{h^2}\Big)}_{b_j}u_j^{n+1}+\underbrace{\Big(-\frac{6\Delta t}{h}-\frac{7\Delta t}{h^2}\Big)}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n-\big((n+1)\Delta t\big)^2(j-1)h\,\Delta t}_{\xi_j^n}$$$$a_j=-\frac{7\Delta t}{h^2},\quad b_j=1+\frac{6\Delta t}{h}+\frac{14\Delta t}{h^2},\quad c_j=-\Big(\frac{6\Delta t}{h}+\frac{7\Delta t}{h^2}\Big)$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{7\Delta t}{h^2}+\frac{6\Delta t}{h}+\frac{7\Delta t}{h^2}=\frac{6\Delta t}{h}+\frac{14\Delta t}{h^2}<1+\frac{6\Delta t}{h}+\frac{14\Delta t}{h^2}=|b_j|$$

Выбор разности против потока обеспечил выполнение условия при любых $\Delta t,h$.

4. Рекуррентное прогоночное соотношение

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 1-й род)

$$u_1^{n+1}=\big((n+1)\Delta t\big)^2\;\Rightarrow\;\boxed{\alpha_1=0,\qquad \beta_1=\big((n+1)\Delta t\big)^2}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 3-й род)

$\dfrac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=2u_N^{n+1}-3$, подставляем $u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$:

$$u_N^{n+1}-\alpha_{N-1}u_N^{n+1}-\beta_{N-1}=2h\,u_N^{n+1}-3h$$$$\boxed{u_N^{n+1}=\frac{\beta_{N-1}-3h}{1-2h-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Задача 5.5

$$\frac{\partial u}{\partial t} - \frac{\partial u}{\partial x} = 0.8x\frac{\partial^2 u}{\partial x^2} + t - x$$
$$u = u(t, x), \quad u(t=0, x) = x$$
$$\begin{cases} \dfrac{\partial u}{\partial x}(t, x=0) = 1 - t \\[2mm] u(t, x=1) = 1 \end{cases}$$

Решение

Уравнение и условия

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

Запишем как $u_t+a\,u_x=\dots$ с $a=-1<0$. При $a<0$ устойчивой является правая разность $\dfrac{u_{j+1}^{n+1}-u_j^{n+1}}{h}$ для $u_x$. Коэффициент диффузии переменный: $\sigma_j=0.8\,x_j=0.8(j-1)h$.

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

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

Начальное условие: $u_j^0=(j-1)h$. Обозначим $\sigma_j=0.8(j-1)h$.

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

Переносим член $-u_x$ в правую часть схемы как $+\dfrac{u_{j+1}^{n+1}-u_j^{n+1}}{h}$, умножаем на $\Delta t$:

$$\underbrace{\Big(-\frac{\Delta t}{h}-\frac{\sigma_j\Delta t}{h^2}\Big)}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{\Delta t}{h}+\frac{2\sigma_j\Delta t}{h^2}\Big)}_{b_j}u_j^{n+1}+\underbrace{\Big(-\frac{\sigma_j\Delta t}{h^2}\Big)}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n+\big[(n+1)\Delta t-(j-1)h\big]\Delta t}_{\xi_j^n}$$$$a_j=-\frac{\Delta t}{h}-\frac{\sigma_j\Delta t}{h^2},\quad b_j=1+\frac{\Delta t}{h}+\frac{2\sigma_j\Delta t}{h^2},\quad c_j=-\frac{\sigma_j\Delta t}{h^2}$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{\Delta t}{h}+\frac{\sigma_j\Delta t}{h^2}+\frac{\sigma_j\Delta t}{h^2}=\frac{\Delta t}{h}+\frac{2\sigma_j\Delta t}{h^2}<1+\frac{\Delta t}{h}+\frac{2\sigma_j\Delta t}{h^2}=|b_j|$$

(при $\sigma_j=0.8(j-1)h\ge0$). Условие выполнено при любых $\Delta t,h$.

4. Рекуррентное прогоночное соотношение

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 2-й род)

$$\frac{u_2^{n+1}-u_1^{n+1}}{h}=1-(n+1)\Delta t\;\Rightarrow\;u_1^{n+1}=u_2^{n+1}-h\big(1-(n+1)\Delta t\big)$$$$\boxed{\alpha_1=1,\qquad \beta_1=-h\big(1-(n+1)\Delta t\big)}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 1-й род)

$$\boxed{u_N^{n+1}=1}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Задача 5.6

$$\frac{\partial u}{\partial t} - 3\frac{\partial u}{\partial x} = 2\frac{\partial^2 u}{\partial x^2} + 20u - 3t$$
$$u = u(t, x), \quad u(t=0, x) = x + 1$$
$$\begin{cases} \dfrac{\partial u}{\partial x}(t, x=0) = 0 \\[2mm] \dfrac{\partial u}{\partial x}(t, x=1) = 0 \end{cases}$$

Решение

Уравнение и условия

$$\frac{\partial u}{\partial t}-3\frac{\partial u}{\partial x}=2\frac{\partial^2 u}{\partial x^2}+20u-3t,\qquad u(t{=}0,x)=x+1$$$$\frac{\partial u}{\partial x}(t,0)=0,\qquad \frac{\partial u}{\partial x}(t,1)=0$$

$u_t+a u_x=\dots$ с $a=-3<0\;\Rightarrow$ для $u_x$ берём правую разность $\dfrac{u_{j+1}^{n+1}-u_j^{n+1}}{h}$ (устойчивый выбор). $\sigma=2$. Реакция $+20u$ имеет «плохой» знак — уменьшает $b_j$; ниже проверим условие.

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

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

Начальное условие: $u_j^0=(j-1)h+1$.

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

$$\underbrace{\Big(-\frac{3\Delta t}{h}-\frac{2\Delta t}{h^2}\Big)}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{3\Delta t}{h}+\frac{4\Delta t}{h^2}-20\Delta t\Big)}_{b_j}u_j^{n+1}+\underbrace{\Big(-\frac{2\Delta t}{h^2}\Big)}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n-3(n+1)\Delta t\cdot\Delta t}_{\xi_j^n}$$$$a_j=-\frac{3\Delta t}{h}-\frac{2\Delta t}{h^2},\quad b_j=1+\frac{3\Delta t}{h}+\frac{4\Delta t}{h^2}-20\Delta t,\quad c_j=-\frac{2\Delta t}{h^2}$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{3\Delta t}{h}+\frac{2\Delta t}{h^2}+\frac{2\Delta t}{h^2}=\frac{3\Delta t}{h}+\frac{4\Delta t}{h^2}$$

Сравним с $|b_j|=1+\frac{3\Delta t}{h}+\frac{4\Delta t}{h^2}-20\Delta t$. Условие $|a_j|+|c_j|\le|b_j|$ сводится к $0\le1-20\Delta t$, т.е.

$$\boxed{\Delta t\le \tfrac{1}{20}=0.05}$$

Из-за положительной реакции $+20u$ диагональное преобладание требует ограничения на шаг по времени.

4. Рекуррентное прогоночное соотношение

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 2-й род)

$$\frac{u_2^{n+1}-u_1^{n+1}}{h}=0\;\Rightarrow\;u_1^{n+1}=u_2^{n+1}\;\Rightarrow\;\boxed{\alpha_1=1,\qquad \beta_1=0}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 2-й род)

$\dfrac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=0$, подставляем $u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$:

$$\boxed{u_N^{n+1}=\frac{\beta_{N-1}}{1-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →
Задача 5.7

$$\frac{\partial u}{\partial t} + 5\frac{\partial u}{\partial x} = 9\frac{\partial^2 u}{\partial x^2} - 7t^2 u^2$$
$$u = u(t, x), \quad u(t=0, x) = x^2$$
$$\begin{cases} u(t, x=0) = 2t \\[2mm] \dfrac{\partial u}{\partial x}(t, x=1) = 2t \end{cases}$$

Решение

Уравнение и условия

$$\frac{\partial u}{\partial t}+5\frac{\partial u}{\partial x}=9\frac{\partial^2 u}{\partial x^2}-7t^2u^2,\qquad u(t{=}0,x)=x^2$$$$u(t,0)=2t,\qquad \frac{\partial u}{\partial x}(t,1)=2t$$

$a=5>0\;\Rightarrow$ для $u_x$ берём левую разность против потока $\dfrac{u_j^{n+1}-u_{j-1}^{n+1}}{h}$. $\sigma=9$. Нелинейный член линеаризуем: $-7t^2u^2\approx-7t^2 u_j^{n}\,u_j^{n+1}$ (вклад в $b_j$).

1. Неявная разностная схема (с линеаризацией)

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

Начальное условие: $u_j^0=\big((j-1)h\big)^2$. Обозначим $r_j=7\big((n+1)\Delta t\big)^2 u_j^n$.

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

$$\underbrace{-\frac{9\Delta t}{h^2}}_{a_j}u_{j+1}^{n+1}+\underbrace{\Big(1+\frac{5\Delta t}{h}+\frac{18\Delta t}{h^2}+r_j\Delta t\Big)}_{b_j}u_j^{n+1}+\underbrace{\Big(-\frac{5\Delta t}{h}-\frac{9\Delta t}{h^2}\Big)}_{c_j}u_{j-1}^{n+1}=\underbrace{u_j^n}_{\xi_j^n}$$$$a_j=-\frac{9\Delta t}{h^2},\quad b_j=1+\frac{5\Delta t}{h}+\frac{18\Delta t}{h^2}+r_j\Delta t,\quad c_j=-\Big(\frac{5\Delta t}{h}+\frac{9\Delta t}{h^2}\Big)$$

3. Сходимость прогонки

$$|a_j|+|c_j|=\frac{9\Delta t}{h^2}+\frac{5\Delta t}{h}+\frac{9\Delta t}{h^2}=\frac{5\Delta t}{h}+\frac{18\Delta t}{h^2}<1+\frac{5\Delta t}{h}+\frac{18\Delta t}{h^2}+r_j\Delta t=|b_j|$$

(при $u_j^n\ge0$ слагаемое $r_j\Delta t\ge0$). Условие выполнено при любых $\Delta t,h$.

4. Рекуррентное прогоночное соотношение

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

5. Начальные коэффициенты $\alpha_1,\beta_1$ (левое ГУ, 1-й род)

$$u_1^{n+1}=2(n+1)\Delta t\;\Rightarrow\;\boxed{\alpha_1=0,\qquad \beta_1=2(n+1)\Delta t}$$

6. Решение на правой границе $u_N^{n+1}$ (правое ГУ, 2-й род)

$\dfrac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=2(n+1)\Delta t$, подставляем $u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$:

$$\boxed{u_N^{n+1}=\frac{2(n+1)\Delta t\,h+\beta_{N-1}}{1-\alpha_{N-1}}}$$

Алгоритм решения (метод прогонки)

  1. Задать начальное условие на сетке: $u_j^0$ по формуле НУ, цикл $j=1,\dots,N_x$.
  2. Цикл по времени $n=0,1,\dots,N_t-1$:
    1. Из левого ГУ определить $\alpha_1,\beta_1$.
    2. Прямой ход (слева направо, $j=2,\dots,N_x-1$): вычислить $a_j,b_j,c_j,\xi_j^n$ и прогоночные коэффициенты $\alpha_j=-\dfrac{a_j}{b_j+c_j\alpha_{j-1}}$, $\beta_j=\dfrac{\xi_j^n-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$.
    3. Из правого ГУ найти $u_{N_x}^{n+1}$.
    4. Обратный ход (справа налево, $j=N_x-1,\dots,1$): $u_j^{n+1}=\alpha_j u_{j+1}^{n+1}+\beta_j$.

Схема (неявная) абсолютно устойчива; достаточное условие сходимости прогонки $|a_j|+|c_j|\le|b_j|$ проверено выше — выполняется при любых $\Delta t,h$.

Блок-схема алгоритма
Неявная схема — метод прогонки
Неявная схема — метод прогонки · все блок-схемы →