🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
Раздел 13: задачи
13.1 13.2 13.3 13.4
← К задачнику
Задачник · решения

Раздел 13. Выбрать соответствующие уравнению граничные условия. Записать схему переменных направлений. Для каждой из подсхем записать рекуррентное соотношение

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

Задача 13.1

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

$$\begin{cases} u(t, x=0, y) = 0 \\ u(t, x=1, y) = t^2 y \end{cases} \qquad \begin{cases} u(t, x, y=0) = 0 \\ u(t, x, y=1) = t^2 x \end{cases}$$

Решение

Задача 13.1

Дано уравнение:

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

$$\begin{cases} u(t,x=0,y)=0 \\ u(t,x=1,y)=t^{2}y \end{cases}\qquad \begin{cases} u(t,x,y=0)=0 \\ u(t,x,y=1)=t^{2}x \end{cases}$$

Метод (общая схема)

Все уравнения раздела 13 — двумерные дифференциальные уравнения в частных производных первого порядка. Приводим уравнение к канонической форме (8.1):

$$\frac{\partial u}{\partial t}+v_{1}\frac{\partial u}{\partial x}+v_{2}\frac{\partial u}{\partial y}=f(t,x,y),\qquad t\in[0,t_k],\ x\in[0,1],\ y\in[0,1].$$

Правило выбора конечной разности (по знаку скорости). Производная первого порядка по координате стоит в левой части уравнения, поэтому применимо правило раздела 5.8: при $v>0$ берётся левая конечная разность и требуется левое граничное условие; при $v<0$ — правая конечная разность и правое граничное условие. Это правило применяется отдельно к $v_1$ (координата $x$) и $v_2$ (координата $y$); из двух заданных граничных условий по каждой координате выбирается то, через которое «входит» поток.

Схема переменных направлений (раздел 8.2.4) расщепляет интервал $\Delta t$ пополам точкой $t^{n+1/2}$ и записывается в виде двух подсхем: ① неявна по $x$ (уровень $n+1/2$) и явна по $y$ (уровень $n$); ② неявна по $y$ (уровень $n+1$) и явна по $x$ (уровень $n+1/2$). Коэффициенты $v_1,v_2$ при разностных операторах делятся пополам, а свободный член записывается во второй подсхеме на уровне $t^{n+1/2}$. За счёт симметрии относительно $t^{n+1/2}$ схема имеет второй порядок аппроксимации по времени, $O(\Delta t^2,h_x,h_y)$, и абсолютно устойчива.

Поскольку уравнения содержат лишь первые производные по координатам, каждая подсхема содержит на новом полуслое только два значения функции, поэтому решается не прогонкой, а напрямую — рекуррентным соотношением (неизвестное значение выражается через уже найденное соседнее «по потоку»).

1. Приведение к канонической форме (8.1)

Переносим конвективные члены в левую часть:

$$\frac{\partial u}{\partial t}-6\frac{\partial u}{\partial x}+5\frac{\partial u}{\partial y}=t^{2}.$$

Сравнивая с (8.1): $v_{1}=-6$, $v_{2}=+5$, $f(t,x,y)=t^{2}$.

2. Выбор граничных условий по знаку скоростей

  • $v_{1}=-6<0$ — по координате $x$ берём правую конечную разность $\dfrac{u_{j+1,k}-u_{j,k}}{h_x}$ и используем правое ГУ при $x=1$.
  • $v_{2}=+5>0$ — по координате $y$ берём левую конечную разность $\dfrac{u_{j,k}-u_{j,k-1}}{h_y}$ и используем левое ГУ при $y=0$.

Соответствующий уравнению набор условий (схема 8.10, случай $v_1<0,v_2>0$):

$$u(t=0,x,y)=0;\qquad u(t,x=1,y)=t^{2}y;\qquad u(t,x,y=0)=0.$$

Условия $u(t,x=0,y)$ и $u(t,x,y=1)$ для этой схемы не используются (поток входит справа по $x$ и слева по $y$).

3. Схема переменных направлений

Подсхема ① (первый полушаг, неявная по $x$, явная по $y$):

$$\frac{u_{j,k}^{n+1/2}-u_{j,k}^{n}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k}^{n}-u_{j,k-1}^{n}}{h_{y}}=0,$$

где $v_1=-6,\ v_2=5$.

Подсхема ② (второй полушаг, неявная по $y$, явная по $x$, со свободным членом):

$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n+1/2}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k}^{n+1}-u_{j,k-1}^{n+1}}{h_{y}}=f_{j,k}^{n+1/2},$$

где $f_{j,k}^{n+1/2}=\big((n+\tfrac12)\Delta t\big)^{2}$.

4. Рекуррентные соотношения

Выражая искомое значение на новом полуслое из каждой подсхемы (значение определяется через уже найденного «по потоку» соседа), получаем:

Для подсхемы ①:

Подсхема ① неявна по $x$ (правая разность): неизвестно $u_{j,k}^{n+1/2}$, выражаемое через «правого» соседа $u_{j+1,k}^{n+1/2}$. Подставляя $v_1=-6$, $v_2=5$ и группируя:

$$u_{j,k}^{n+1/2}\Big(1+\tfrac{6}{2}\tfrac{\Delta t}{h_x}\Big)=u_{j,k}^{n}+\tfrac{6}{2}\tfrac{\Delta t}{h_x}u_{j+1,k}^{n+1/2}-\tfrac{5}{2}\tfrac{\Delta t}{h_y}\big(u_{j,k}^{n}-u_{j,k-1}^{n}\big),$$

$$\boxed{\,u_{j,k}^{n+1/2}=\dfrac{u_{j,k}^{n}+3\dfrac{\Delta t}{h_x}u_{j+1,k}^{n+1/2}-\dfrac{5}{2}\dfrac{\Delta t}{h_y}\big(u_{j,k}^{n}-u_{j,k-1}^{n}\big)}{1+3\dfrac{\Delta t}{h_x}}\,}$$

Счёт ведётся по $j$ в порядке убывания ($j=N_x-1,\dots,2$), так как используется уже найденный правый сосед $u_{j+1,k}^{n+1/2}$.

Для подсхемы ②:

Подсхема ② неявна по $y$ (левая разность): неизвестно $u_{j,k}^{n+1}$, выражаемое через «левого» соседа $u_{j,k-1}^{n+1}$. Подставляя $v_2=5$, $v_1=-6$:

$$u_{j,k}^{n+1}\Big(1+\tfrac{5}{2}\tfrac{\Delta t}{h_y}\Big)=u_{j,k}^{n+1/2}+\tfrac{5}{2}\tfrac{\Delta t}{h_y}u_{j,k-1}^{n+1}+\tfrac{6}{2}\tfrac{\Delta t}{h_x}\big(u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}\big)+\Delta t\,f_{j,k}^{n+1/2},$$

$$\boxed{\,u_{j,k}^{n+1}=\dfrac{u_{j,k}^{n+1/2}+\dfrac{5}{2}\dfrac{\Delta t}{h_y}u_{j,k-1}^{n+1}+3\dfrac{\Delta t}{h_x}\big(u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}\big)+\Delta t\big((n+\tfrac12)\Delta t\big)^{2}}{1+\dfrac{5}{2}\dfrac{\Delta t}{h_y}}\,}$$

Счёт ведётся по $k$ в порядке возрастания ($k=2,\dots,N_y-1$), так как используется уже найденный левый сосед $u_{j,k-1}^{n+1}$.

Значения на «входных» границах берутся из выбранных граничных условий:

$$u_{N_x,k}^{n+1/2}=\big(t^{n+1/2}\big)^{2}\,y_k\quad(x=1),\qquad u_{j,1}^{n+1}=0\quad(y=0).$$

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

  1. Задать начальное условие $u_{j,k}^{0}=0$ во всех узлах.
  2. Цикл по времени $n=0,1,\dots$
  3. Первый полушаг (по $x$): задать правое ГУ $u_{N_x,k}^{n+1/2}=(t^{n+1/2})^2 y_k$; для каждого $k$ пройти $j=N_x-1,\dots,2$ (по убыванию) и по рекуррентному соотношению ① найти $u_{j,k}^{n+1/2}$.
  4. Второй полушаг (по $y$): задать левое ГУ $u_{j,1}^{n+1}=0$; для каждого $j$ пройти $k=2,\dots,N_y-1$ (по возрастанию) и по рекуррентному соотношению ② найти $u_{j,k}^{n+1}$.
  5. Перейти к следующему шагу по времени.
⚠ Блок-схемы алгоритма пока нет. Для метода «Схема переменных направлений (двумерное уравнение 1-го порядка)» блок-схема на странице «Блок-схемы» отсутствует — требуется уточнить у преподавателя.
Задача 13.2

$$\frac{\partial u}{\partial t} = 2t\frac{\partial u}{\partial y} - 3t\frac{\partial u}{\partial x} + txy$$
$u = u(t, x, y)$, $u(t=0, x, y) = 0$

$$\begin{cases} u(t, x=0, y) = 0 \\ u(t, x=1, y) = t\,y \end{cases} \qquad \begin{cases} u(t, x, y=0) = 0 \\ u(t, x, y=1) = tx \end{cases}$$

Решение

Задача 13.2

Дано уравнение:

$$\frac{\partial u}{\partial t}=2t\frac{\partial u}{\partial y}-3t\frac{\partial u}{\partial x}+txy,\qquad u=u(t,x,y),\quad u(t=0,x,y)=0.$$

$$\begin{cases} u(t,x=0,y)=0 \\ u(t,x=1,y)=ty \end{cases}\qquad \begin{cases} u(t,x,y=0)=0 \\ u(t,x,y=1)=tx \end{cases}$$

Метод (общая схема)

Все уравнения раздела 13 — двумерные дифференциальные уравнения в частных производных первого порядка. Приводим уравнение к канонической форме (8.1):

$$\frac{\partial u}{\partial t}+v_{1}\frac{\partial u}{\partial x}+v_{2}\frac{\partial u}{\partial y}=f(t,x,y),\qquad t\in[0,t_k],\ x\in[0,1],\ y\in[0,1].$$

Правило выбора конечной разности (по знаку скорости). Производная первого порядка по координате стоит в левой части уравнения, поэтому применимо правило раздела 5.8: при $v>0$ берётся левая конечная разность и требуется левое граничное условие; при $v<0$ — правая конечная разность и правое граничное условие. Это правило применяется отдельно к $v_1$ (координата $x$) и $v_2$ (координата $y$); из двух заданных граничных условий по каждой координате выбирается то, через которое «входит» поток.

Схема переменных направлений (раздел 8.2.4) расщепляет интервал $\Delta t$ пополам точкой $t^{n+1/2}$ и записывается в виде двух подсхем: ① неявна по $x$ (уровень $n+1/2$) и явна по $y$ (уровень $n$); ② неявна по $y$ (уровень $n+1$) и явна по $x$ (уровень $n+1/2$). Коэффициенты $v_1,v_2$ при разностных операторах делятся пополам, а свободный член записывается во второй подсхеме на уровне $t^{n+1/2}$. За счёт симметрии относительно $t^{n+1/2}$ схема имеет второй порядок аппроксимации по времени, $O(\Delta t^2,h_x,h_y)$, и абсолютно устойчива.

Поскольку уравнения содержат лишь первые производные по координатам, каждая подсхема содержит на новом полуслое только два значения функции, поэтому решается не прогонкой, а напрямую — рекуррентным соотношением (неизвестное значение выражается через уже найденное соседнее «по потоку»).

1. Приведение к канонической форме (8.1)

Переносим конвективные члены в левую часть:

$$\frac{\partial u}{\partial t}+3t\frac{\partial u}{\partial x}-2t\frac{\partial u}{\partial y}=txy.$$

Сравнивая с (8.1): $v_{1}=3t$, $v_{2}=-2t$, $f(t,x,y)=txy$. На отрезке $t\in[0,t_k]$ имеем $v_1\ge0$, $v_2\le0$.

2. Выбор граничных условий по знаку скоростей

  • $v_{1}=3t>0$ — по $x$ левая конечная разность $\dfrac{u_{j,k}-u_{j-1,k}}{h_x}$, левое ГУ при $x=0$.
  • $v_{2}=-2t<0$ — по $y$ правая конечная разность $\dfrac{u_{j,k+1}-u_{j,k}}{h_y}$, правое ГУ при $y=1$.

Соответствующий набор условий (схема 8.9, случай $v_1>0,v_2<0$):

$$u(t=0,x,y)=0;\qquad u(t,x=0,y)=0;\qquad u(t,x,y=1)=tx.$$

Условия $u(t,x=1,y)$ и $u(t,x,y=0)$ для этой схемы не используются.

3. Схема переменных направлений

Подсхема ① (первый полушаг, неявная по $x$, явная по $y$):

$$\frac{u_{j,k}^{n+1/2}-u_{j,k}^{n}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k+1}^{n}-u_{j,k}^{n}}{h_{y}}=0,$$

где $v_1=3t,\ v_2=-2t$.

Подсхема ② (второй полушаг, неявная по $y$, явная по $x$, со свободным членом):

$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n+1/2}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k+1}^{n+1}-u_{j,k}^{n+1}}{h_{y}}=f_{j,k}^{n+1/2},$$

где $f_{j,k}^{n+1/2}=t^{n+1/2}x_j y_k$, $\;t^{n+1/2}=(n+\tfrac12)\Delta t$.

4. Рекуррентные соотношения

Выражая искомое значение на новом полуслое из каждой подсхемы (значение определяется через уже найденного «по потоку» соседа), получаем:

Для подсхемы ①:

Подсхема ① неявна по $x$ (левая разность): неизвестно $u_{j,k}^{n+1/2}$, выражаемое через «левого» соседа $u_{j-1,k}^{n+1/2}$. Подставляя $v_1=3t$, $v_2=-2t$:

$$u_{j,k}^{n+1/2}\Big(1+\tfrac{3t}{2}\tfrac{\Delta t}{h_x}\Big)=u_{j,k}^{n}+\tfrac{3t}{2}\tfrac{\Delta t}{h_x}u_{j-1,k}^{n+1/2}+t\tfrac{\Delta t}{h_y}\big(u_{j,k+1}^{n}-u_{j,k}^{n}\big),$$

$$\boxed{\,u_{j,k}^{n+1/2}=\dfrac{u_{j,k}^{n}+\dfrac{3t}{2}\dfrac{\Delta t}{h_x}u_{j-1,k}^{n+1/2}+t\dfrac{\Delta t}{h_y}\big(u_{j,k+1}^{n}-u_{j,k}^{n}\big)}{1+\dfrac{3t}{2}\dfrac{\Delta t}{h_x}}\,}$$

(множитель $\tfrac{v_2}{2}=-t$ перед явной разностью по $y$ перешёл в правую часть со знаком плюс). Счёт по $j$ возрастающий ($j=2,\dots,N_x-1$): используется уже найденный левый сосед.

Для подсхемы ②:

Подсхема ② неявна по $y$ (правая разность): неизвестно $u_{j,k}^{n+1}$, выражаемое через «правого» соседа $u_{j,k+1}^{n+1}$. Подставляя $v_2=-2t$, $v_1=3t$:

$$u_{j,k}^{n+1}\Big(1+\tfrac{2t}{2}\tfrac{\Delta t}{h_y}\Big)=u_{j,k}^{n+1/2}+\tfrac{2t}{2}\tfrac{\Delta t}{h_y}u_{j,k+1}^{n+1}-\tfrac{3t}{2}\tfrac{\Delta t}{h_x}\big(u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}\big)+\Delta t\,f_{j,k}^{n+1/2},$$

$$\boxed{\,u_{j,k}^{n+1}=\dfrac{u_{j,k}^{n+1/2}+t\dfrac{\Delta t}{h_y}u_{j,k+1}^{n+1}-\dfrac{3t}{2}\dfrac{\Delta t}{h_x}\big(u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}\big)+\Delta t\,t^{n+1/2}x_j y_k}{1+t\dfrac{\Delta t}{h_y}}\,}$$

Счёт по $k$ убывающий ($k=N_y-1,\dots,2$): используется уже найденный правый сосед.

Значения на «входных» границах берутся из выбранных граничных условий:

$$u_{1,k}^{n+1/2}=0\quad(x=0),\qquad u_{j,N_y}^{n+1}=t^{n+1}x_j\quad(y=1).$$

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

  1. Задать $u_{j,k}^{0}=0$.
  2. Цикл по времени $n=0,1,\dots$ (на каждом шаге $t=t^{n+1/2}$, $t^{n+1}$ подставляются в коэффициенты).
  3. Первый полушаг (по $x$): задать левое ГУ $u_{1,k}^{n+1/2}=0$; для каждого $k$ пройти $j=2,\dots,N_x-1$ (по возрастанию) по рекуррентному соотношению ① → $u_{j,k}^{n+1/2}$.
  4. Второй полушаг (по $y$): задать правое ГУ $u_{j,N_y}^{n+1}=t^{n+1}x_j$; для каждого $j$ пройти $k=N_y-1,\dots,2$ (по убыванию) по рекуррентному соотношению ② → $u_{j,k}^{n+1}$.
  5. Перейти к следующему шагу по времени.
⚠ Блок-схемы алгоритма пока нет. Для метода «Схема переменных направлений (двумерное уравнение 1-го порядка)» блок-схема на странице «Блок-схемы» отсутствует — требуется уточнить у преподавателя.
Задача 13.3

$$\frac{1}{2}\frac{\partial u}{\partial t} = \frac{\partial u}{\partial x} + 6t\frac{\partial u}{\partial y} - 4t\,u$$
$u = u(t, x, y)$, $u(t=0, x, y) = 1$

$$\begin{cases} u(t, x=0, y) = 1 \\ u(t, x=1, y) = 1 + t \end{cases} \qquad \begin{cases} u(t, x, y=0) = 1 \\ u(t, x, y=1) = 1 + t \end{cases}$$

Решение

Задача 13.3

Дано уравнение:

$$\frac{1}{2}\frac{\partial u}{\partial t}=\frac{\partial u}{\partial x}+6t\frac{\partial u}{\partial y}-4t\,u,\qquad u=u(t,x,y),\quad u(t=0,x,y)=1.$$

$$\begin{cases} u(t,x=0,y)=1 \\ u(t,x=1,y)=1+t \end{cases}\qquad \begin{cases} u(t,x,y=0)=1 \\ u(t,x,y=1)=1+t \end{cases}$$

Метод (общая схема)

Все уравнения раздела 13 — двумерные дифференциальные уравнения в частных производных первого порядка. Приводим уравнение к канонической форме (8.1):

$$\frac{\partial u}{\partial t}+v_{1}\frac{\partial u}{\partial x}+v_{2}\frac{\partial u}{\partial y}=f(t,x,y),\qquad t\in[0,t_k],\ x\in[0,1],\ y\in[0,1].$$

Правило выбора конечной разности (по знаку скорости). Производная первого порядка по координате стоит в левой части уравнения, поэтому применимо правило раздела 5.8: при $v>0$ берётся левая конечная разность и требуется левое граничное условие; при $v<0$ — правая конечная разность и правое граничное условие. Это правило применяется отдельно к $v_1$ (координата $x$) и $v_2$ (координата $y$); из двух заданных граничных условий по каждой координате выбирается то, через которое «входит» поток.

Схема переменных направлений (раздел 8.2.4) расщепляет интервал $\Delta t$ пополам точкой $t^{n+1/2}$ и записывается в виде двух подсхем: ① неявна по $x$ (уровень $n+1/2$) и явна по $y$ (уровень $n$); ② неявна по $y$ (уровень $n+1$) и явна по $x$ (уровень $n+1/2$). Коэффициенты $v_1,v_2$ при разностных операторах делятся пополам, а свободный член записывается во второй подсхеме на уровне $t^{n+1/2}$. За счёт симметрии относительно $t^{n+1/2}$ схема имеет второй порядок аппроксимации по времени, $O(\Delta t^2,h_x,h_y)$, и абсолютно устойчива.

Поскольку уравнения содержат лишь первые производные по координатам, каждая подсхема содержит на новом полуслое только два значения функции, поэтому решается не прогонкой, а напрямую — рекуррентным соотношением (неизвестное значение выражается через уже найденное соседнее «по потоку»).

1. Приведение к канонической форме (8.1)

Умножаем уравнение на $2$ и переносим конвективные члены влево:

$$\frac{\partial u}{\partial t}=2\frac{\partial u}{\partial x}+12t\frac{\partial u}{\partial y}-8t\,u\quad\Longrightarrow\quad \frac{\partial u}{\partial t}-2\frac{\partial u}{\partial x}-12t\frac{\partial u}{\partial y}=-8t\,u.$$

Сравнивая с (8.1): $v_{1}=-2$, $v_{2}=-12t$, $f(t,x,y)=-8t\,u$ (линейный по $u$ свободный член; в схеме берётся явно на уровне $n+1/2$, т.е. $f_{j,k}^{n+1/2}=-8t^{n+1/2}u_{j,k}^{n+1/2}$). На $t\in[0,t_k]$ имеем $v_2\le0$.

2. Выбор граничных условий по знаку скоростей

  • $v_{1}=-2<0$ — по $x$ правая конечная разность, правое ГУ при $x=1$.
  • $v_{2}=-12t<0$ — по $y$ правая конечная разность, правое ГУ при $y=1$.

Соответствующий набор условий (схема 8.11, случай $v_1<0,v_2<0$):

$$u(t=0,x,y)=1;\qquad u(t,x=1,y)=1+t;\qquad u(t,x,y=1)=1+t.$$

Условия $u(t,x=0,y)$ и $u(t,x,y=0)$ для этой схемы не используются.

3. Схема переменных направлений

Подсхема ① (первый полушаг, неявная по $x$, явная по $y$):

$$\frac{u_{j,k}^{n+1/2}-u_{j,k}^{n}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k+1}^{n}-u_{j,k}^{n}}{h_{y}}=0,$$

где $v_1=-2,\ v_2=-12t$.

Подсхема ② (второй полушаг, неявная по $y$, явная по $x$, со свободным членом):

$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n+1/2}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k+1}^{n+1}-u_{j,k}^{n+1}}{h_{y}}=f_{j,k}^{n+1/2},$$

где $f_{j,k}^{n+1/2}=-8t^{n+1/2}u_{j,k}^{n+1/2}$.

4. Рекуррентные соотношения

Выражая искомое значение на новом полуслое из каждой подсхемы (значение определяется через уже найденного «по потоку» соседа), получаем:

Для подсхемы ①:

Подсхема ① неявна по $x$ (правая разность): неизвестно $u_{j,k}^{n+1/2}$ через «правого» соседа $u_{j+1,k}^{n+1/2}$. Подставляя $v_1=-2$, $v_2=-12t$:

$$u_{j,k}^{n+1/2}\Big(1+\tfrac{2}{2}\tfrac{\Delta t}{h_x}\Big)=u_{j,k}^{n}+\tfrac{2}{2}\tfrac{\Delta t}{h_x}u_{j+1,k}^{n+1/2}+\tfrac{12t}{2}\tfrac{\Delta t}{h_y}\big(u_{j,k+1}^{n}-u_{j,k}^{n}\big),$$

$$\boxed{\,u_{j,k}^{n+1/2}=\dfrac{u_{j,k}^{n}+\dfrac{\Delta t}{h_x}u_{j+1,k}^{n+1/2}+6t\dfrac{\Delta t}{h_y}\big(u_{j,k+1}^{n}-u_{j,k}^{n}\big)}{1+\dfrac{\Delta t}{h_x}}\,}$$

Счёт по $j$ убывающий ($j=N_x-1,\dots,2$): используется правый сосед $u_{j+1,k}^{n+1/2}$.

Для подсхемы ②:

Подсхема ② неявна по $y$ (правая разность): неизвестно $u_{j,k}^{n+1}$ через «правого» соседа $u_{j,k+1}^{n+1}$. Свободный член $f_{j,k}^{n+1/2}=-8t^{n+1/2}u_{j,k}^{n+1/2}$ уже известен (зависит от полуслоя). Подставляя $v_2=-12t$, $v_1=-2$:

$$u_{j,k}^{n+1}\Big(1+\tfrac{12t}{2}\tfrac{\Delta t}{h_y}\Big)=u_{j,k}^{n+1/2}+\tfrac{12t}{2}\tfrac{\Delta t}{h_y}u_{j,k+1}^{n+1}+\tfrac{2}{2}\tfrac{\Delta t}{h_x}\big(u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}\big)+\Delta t\,f_{j,k}^{n+1/2},$$

$$\boxed{\,u_{j,k}^{n+1}=\dfrac{u_{j,k}^{n+1/2}+6t\dfrac{\Delta t}{h_y}u_{j,k+1}^{n+1}+\dfrac{\Delta t}{h_x}\big(u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}\big)-8t^{n+1/2}\Delta t\,u_{j,k}^{n+1/2}}{1+6t\dfrac{\Delta t}{h_y}}\,}$$

Счёт по $k$ убывающий ($k=N_y-1,\dots,2$): используется правый сосед $u_{j,k+1}^{n+1}$.

Значения на «входных» границах берутся из выбранных граничных условий:

$$u_{N_x,k}^{n+1/2}=1+t^{n+1/2}\quad(x=1),\qquad u_{j,N_y}^{n+1}=1+t^{n+1}\quad(y=1).$$

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

  1. Задать $u_{j,k}^{0}=1$.
  2. Цикл по времени $n=0,1,\dots$
  3. Первый полушаг (по $x$): задать правое ГУ $u_{N_x,k}^{n+1/2}=1+t^{n+1/2}$; для каждого $k$ пройти $j=N_x-1,\dots,2$ (по убыванию) по соотношению ① → $u_{j,k}^{n+1/2}$.
  4. Второй полушаг (по $y$): задать правое ГУ $u_{j,N_y}^{n+1}=1+t^{n+1}$; для каждого $j$ пройти $k=N_y-1,\dots,2$ (по убыванию) по соотношению ② → $u_{j,k}^{n+1}$.
  5. Перейти к следующему шагу по времени.
⚠ Блок-схемы алгоритма пока нет. Для метода «Схема переменных направлений (двумерное уравнение 1-го порядка)» блок-схема на странице «Блок-схемы» отсутствует — требуется уточнить у преподавателя.
Задача 13.4

$$\frac{\partial u}{\partial t} + 8t\frac{\partial u}{\partial x} = 9t(x+y) - 7x\frac{\partial u}{\partial y}$$
$u = u(t, x, y)$, $u(t=0, x, y) = xy$

$$\begin{cases} u(t, x=0, y) = t \\ u(t, x=1, y) = t + y \end{cases} \qquad \begin{cases} u(t, x, y=0) = t \\ u(t, x, y=1) = t + x \end{cases}$$

Решение

Задача 13.4

Дано уравнение:

$$\frac{\partial u}{\partial t}+8t\frac{\partial u}{\partial x}=9t(x+y)-7x\frac{\partial u}{\partial y},\qquad u=u(t,x,y),\quad u(t=0,x,y)=xy.$$

$$\begin{cases} u(t,x=0,y)=t \\ u(t,x=1,y)=t+y \end{cases}\qquad \begin{cases} u(t,x,y=0)=t \\ u(t,x,y=1)=t+x \end{cases}$$

Метод (общая схема)

Все уравнения раздела 13 — двумерные дифференциальные уравнения в частных производных первого порядка. Приводим уравнение к канонической форме (8.1):

$$\frac{\partial u}{\partial t}+v_{1}\frac{\partial u}{\partial x}+v_{2}\frac{\partial u}{\partial y}=f(t,x,y),\qquad t\in[0,t_k],\ x\in[0,1],\ y\in[0,1].$$

Правило выбора конечной разности (по знаку скорости). Производная первого порядка по координате стоит в левой части уравнения, поэтому применимо правило раздела 5.8: при $v>0$ берётся левая конечная разность и требуется левое граничное условие; при $v<0$ — правая конечная разность и правое граничное условие. Это правило применяется отдельно к $v_1$ (координата $x$) и $v_2$ (координата $y$); из двух заданных граничных условий по каждой координате выбирается то, через которое «входит» поток.

Схема переменных направлений (раздел 8.2.4) расщепляет интервал $\Delta t$ пополам точкой $t^{n+1/2}$ и записывается в виде двух подсхем: ① неявна по $x$ (уровень $n+1/2$) и явна по $y$ (уровень $n$); ② неявна по $y$ (уровень $n+1$) и явна по $x$ (уровень $n+1/2$). Коэффициенты $v_1,v_2$ при разностных операторах делятся пополам, а свободный член записывается во второй подсхеме на уровне $t^{n+1/2}$. За счёт симметрии относительно $t^{n+1/2}$ схема имеет второй порядок аппроксимации по времени, $O(\Delta t^2,h_x,h_y)$, и абсолютно устойчива.

Поскольку уравнения содержат лишь первые производные по координатам, каждая подсхема содержит на новом полуслое только два значения функции, поэтому решается не прогонкой, а напрямую — рекуррентным соотношением (неизвестное значение выражается через уже найденное соседнее «по потоку»).

1. Приведение к канонической форме (8.1)

Переносим член $-7x\,\partial u/\partial y$ в левую часть:

$$\frac{\partial u}{\partial t}+8t\frac{\partial u}{\partial x}+7x\frac{\partial u}{\partial y}=9t(x+y).$$

Сравнивая с (8.1): $v_{1}=8t$, $v_{2}=7x$, $f(t,x,y)=9t(x+y)$. На области $t\in[0,t_k]$, $x\in[0,1]$ имеем $v_1\ge0$, $v_2\ge0$.

2. Выбор граничных условий по знаку скоростей

  • $v_{1}=8t>0$ — по $x$ левая конечная разность, левое ГУ при $x=0$.
  • $v_{2}=7x>0$ — по $y$ левая конечная разность, левое ГУ при $y=0$.

Соответствующий набор условий (схема 8.8, случай $v_1>0,v_2>0$):

$$u(t=0,x,y)=xy;\qquad u(t,x=0,y)=t;\qquad u(t,x,y=0)=t.$$

Условия $u(t,x=1,y)$ и $u(t,x,y=1)$ для этой схемы не используются.

3. Схема переменных направлений

Подсхема ① (первый полушаг, неявная по $x$, явная по $y$):

$$\frac{u_{j,k}^{n+1/2}-u_{j,k}^{n}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k}^{n}-u_{j,k-1}^{n}}{h_{y}}=0,$$

где $v_1=8t,\ v_2=7x_j$.

Подсхема ② (второй полушаг, неявная по $y$, явная по $x$, со свободным членом):

$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n+1/2}}{\Delta t}+\frac{v_{1}}{2}\frac{u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}}{h_{x}}+\frac{v_{2}}{2}\frac{u_{j,k}^{n+1}-u_{j,k-1}^{n+1}}{h_{y}}=f_{j,k}^{n+1/2},$$

где $f_{j,k}^{n+1/2}=9\,t^{n+1/2}\,(x_j+y_k)$.

4. Рекуррентные соотношения

Выражая искомое значение на новом полуслое из каждой подсхемы (значение определяется через уже найденного «по потоку» соседа), получаем:

Для подсхемы ①:

Подсхема ① неявна по $x$ (левая разность): неизвестно $u_{j,k}^{n+1/2}$ через «левого» соседа $u_{j-1,k}^{n+1/2}$. Подставляя $v_1=8t$, $v_2=7x_j$:

$$u_{j,k}^{n+1/2}\Big(1+\tfrac{8t}{2}\tfrac{\Delta t}{h_x}\Big)=u_{j,k}^{n}+\tfrac{8t}{2}\tfrac{\Delta t}{h_x}u_{j-1,k}^{n+1/2}-\tfrac{7x_j}{2}\tfrac{\Delta t}{h_y}\big(u_{j,k}^{n}-u_{j,k-1}^{n}\big),$$

$$\boxed{\,u_{j,k}^{n+1/2}=\dfrac{u_{j,k}^{n}+4t\dfrac{\Delta t}{h_x}u_{j-1,k}^{n+1/2}-\dfrac{7x_j}{2}\dfrac{\Delta t}{h_y}\big(u_{j,k}^{n}-u_{j,k-1}^{n}\big)}{1+4t\dfrac{\Delta t}{h_x}}\,}$$

Счёт по $j$ возрастающий ($j=2,\dots,N_x-1$): используется левый сосед $u_{j-1,k}^{n+1/2}$.

Для подсхемы ②:

Подсхема ② неявна по $y$ (левая разность): неизвестно $u_{j,k}^{n+1}$ через «левого» соседа $u_{j,k-1}^{n+1}$. Подставляя $v_2=7x_j$, $v_1=8t$:

$$u_{j,k}^{n+1}\Big(1+\tfrac{7x_j}{2}\tfrac{\Delta t}{h_y}\Big)=u_{j,k}^{n+1/2}+\tfrac{7x_j}{2}\tfrac{\Delta t}{h_y}u_{j,k-1}^{n+1}-\tfrac{8t}{2}\tfrac{\Delta t}{h_x}\big(u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}\big)+\Delta t\,f_{j,k}^{n+1/2},$$

$$\boxed{\,u_{j,k}^{n+1}=\dfrac{u_{j,k}^{n+1/2}+\dfrac{7x_j}{2}\dfrac{\Delta t}{h_y}u_{j,k-1}^{n+1}-4t\dfrac{\Delta t}{h_x}\big(u_{j,k}^{n+1/2}-u_{j-1,k}^{n+1/2}\big)+9\,t^{n+1/2}(x_j+y_k)\Delta t}{1+\dfrac{7x_j}{2}\dfrac{\Delta t}{h_y}}\,}$$

Счёт по $k$ возрастающий ($k=2,\dots,N_y-1$): используется левый сосед $u_{j,k-1}^{n+1}$.

Значения на «входных» границах берутся из выбранных граничных условий:

$$u_{1,k}^{n+1/2}=t^{n+1/2}\quad(x=0),\qquad u_{j,1}^{n+1}=t^{n+1}\quad(y=0).$$

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

  1. Задать начальное условие $u_{j,k}^{0}=x_j y_k$.
  2. Цикл по времени $n=0,1,\dots$
  3. Первый полушаг (по $x$): задать левое ГУ $u_{1,k}^{n+1/2}=t^{n+1/2}$; для каждого $k$ пройти $j=2,\dots,N_x-1$ (по возрастанию) по соотношению ① → $u_{j,k}^{n+1/2}$.
  4. Второй полушаг (по $y$): задать левое ГУ $u_{j,1}^{n+1}=t^{n+1}$; для каждого $j$ пройти $k=2,\dots,N_y-1$ (по возрастанию) по соотношению ② → $u_{j,k}^{n+1}$.
  5. Перейти к следующему шагу по времени.
⚠ Блок-схемы алгоритма пока нет. Для метода «Схема переменных направлений (двумерное уравнение 1-го порядка)» блок-схема на странице «Блок-схемы» отсутствует — требуется уточнить у преподавателя.