🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
Раздел 6: задачи
6.1 6.2 6.3 6.4 6.5 6.6
← К задачнику
Задачник · решения

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

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

Задача 6.1

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

Решение

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

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

В схеме Кранка-Николсона вторую производную по координате представляют суммой двух половин: одну аппроксимируют на слое $n$, другую — на слое $(n+1)$; конвективные члены — аналогично пополам. Свободный член берётся в точке $t^{n+1/2}$. Схема имеет порядок $O(\Delta t^2,h^2)$ и абсолютно устойчива.

$\sigma=0.2$, $f=-0.3tx$.

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

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

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

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

Множим на $\Delta t$, неизвестные слоя $(n{+}1)$ — влево:

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

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

$$|a_j|+|c_j|=\frac{0.2\Delta t}{h^2}<1+\frac{0.2\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$ (левое ГУ, 2-й род)

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

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

$$\frac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=0.4,\quad u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$$$$\boxed{u_N^{n+1}=\frac{0.4h+\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$.

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

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

Решение

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

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

В схеме Кранка-Николсона вторую производную по координате представляют суммой двух половин: одну аппроксимируют на слое $n$, другую — на слое $(n+1)$; конвективные члены — аналогично пополам. Свободный член берётся в точке $t^{n+1/2}$. Схема имеет порядок $O(\Delta t^2,h^2)$ и абсолютно устойчива.

$a=2>0\Rightarrow$ для $u_x$ берём левую (против потока) разность, поделённую пополам по слоям. $\sigma=8$.

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

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

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

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

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

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

$$|a_j|+|c_j|=\frac{4\Delta t}{h^2}+\frac{\Delta t}{h}+\frac{4\Delta t}{h^2}=\frac{\Delta t}{h}+\frac{8\Delta t}{h^2}<1+\frac{\Delta t}{h}+\frac{8\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$ (левое ГУ, 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}$ (правое ГУ, 1-й род)

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

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

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

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

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

Решение

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

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

Делим на 2: $u_t-\tfrac32 u_x=2u_{xx}-\tfrac72 tx$. Здесь $a=-\tfrac32<0\Rightarrow$ для $u_x$ берём правую разность. $\sigma=2$.

В схеме Кранка-Николсона вторую производную по координате представляют суммой двух половин: одну аппроксимируют на слое $n$, другую — на слое $(n+1)$; конвективные члены — аналогично пополам. Свободный член берётся в точке $t^{n+1/2}$. Схема имеет порядок $O(\Delta t^2,h^2)$ и абсолютно устойчива.

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

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

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

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

Член $-\tfrac34\dfrac{u_{j+1}^{n+1}-u_j^{n+1}}{h}$ переносим влево; множим на $\Delta t$:

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

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

$$|a_j|+|c_j|=\frac{3\Delta t}{4h}+\frac{\Delta t}{h^2}+\frac{\Delta t}{h^2}=\frac{3\Delta t}{4h}+\frac{2\Delta t}{h^2}<1+\frac{3\Delta t}{4h}+\frac{2\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$ (левое ГУ, 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}$ (правое ГУ, 3-й род)

$$\frac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=3u_N^{n+1},\quad 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}\;\Rightarrow\;\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$.

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

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

Решение

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

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

Умножаем на 2: $u_t+10u_x=12u_{xx}+2x$. Здесь $a=10>0\Rightarrow$ для $u_x$ берём левую (против потока) разность. $\sigma=12$, $f=2x$.

В схеме Кранка-Николсона вторую производную по координате представляют суммой двух половин: одну аппроксимируют на слое $n$, другую — на слое $(n+1)$; конвективные члены — аналогично пополам. Свободный член берётся в точке $t^{n+1/2}$. Схема имеет порядок $O(\Delta t^2,h^2)$ и абсолютно устойчива.

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

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

Начальное условие: $u_j^0=1$. (Свободный член $2x$ не зависит от $t$, точка $t^{n+1/2}$ не меняет его.)

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

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

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

$$|a_j|+|c_j|=\frac{6\Delta t}{h^2}+\frac{5\Delta t}{h}+\frac{6\Delta t}{h^2}=\frac{5\Delta t}{h}+\frac{12\Delta t}{h^2}<1+\frac{5\Delta t}{h}+\frac{12\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-й род)

$$\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}$$$$\boxed{\alpha_1=\frac{1}{1+2h},\qquad \beta_1=0}$$

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

$$\frac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=0\;\Rightarrow\;u_N^{n+1}=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$.

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

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

Решение

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

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

$\sigma=0.9$. Реакция $-4u$ — берём по Кранку-Николсону пополам по слоям: $-4\big(\tfrac12 u_j^{n+1}+\tfrac12 u_j^{n}\big)$.

В схеме Кранка-Николсона вторую производную по координате представляют суммой двух половин: одну аппроксимируют на слое $n$, другую — на слое $(n+1)$; конвективные члены — аналогично пополам. Свободный член берётся в точке $t^{n+1/2}$. Схема имеет порядок $O(\Delta t^2,h^2)$ и абсолютно устойчива.

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

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

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

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

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

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

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

Реакция $-4u$ увеличивает $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-й род)

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

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

$$\frac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=u_N^{n+1}+2,\quad 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}=h\,u_N^{n+1}+2h$$$$\boxed{u_N^{n+1}=\frac{\beta_{N-1}+2h}{1-h-\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$.

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

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

Задачник по численным методам — часть 2 (разделы 7–12)

Транскрипция из zadachnik.pdf, печатные страницы 13–26.
Решение

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

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

Перепишем как $u_t-7u_x=5u_{xx}-3u$, то есть $a=-7<0\Rightarrow$ для $u_x$ берём правую разность. $\sigma=5$, реакция $-3u$ — пополам по слоям.

В схеме Кранка-Николсона вторую производную по координате представляют суммой двух половин: одну аппроксимируют на слое $n$, другую — на слое $(n+1)$; конвективные члены — аналогично пополам. Свободный член берётся в точке $t^{n+1/2}$. Схема имеет порядок $O(\Delta t^2,h^2)$ и абсолютно устойчива.

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

$$\frac{u_j^{n+1}-u_j^n}{\Delta t}=\frac{7}{2}\frac{u_{j+1}^{n+1}-u_j^{n+1}}{h}+\frac{7}{2}\frac{u_{j+1}^{n}-u_j^{n}}{h}+\frac{5}{2}\frac{u_{j+1}^{n+1}-2u_j^{n+1}+u_{j-1}^{n+1}}{h^2}+\frac{5}{2}\frac{u_{j+1}^{n}-2u_j^{n}+u_{j-1}^{n}}{h^2}-\frac32 u_j^{n+1}-\frac32 u_j^{n}$$

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

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

Член $\tfrac72\dfrac{u_{j+1}^{n+1}-u_j^{n+1}}{h}$ переносим влево; множим на $\Delta t$:

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

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

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

Выбор правой разности и реакция $-3u$ обеспечивают преобладание при любых $\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$ (левое ГУ, 2-й род)

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

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

$$\frac{u_N^{n+1}-u_{N-1}^{n+1}}{h}=2(n+1)\Delta t+3,\quad u_{N-1}^{n+1}=\alpha_{N-1}u_N^{n+1}+\beta_{N-1}$$$$\boxed{u_N^{n+1}=\frac{\big(2(n+1)\Delta t+3\big)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$.

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