🎨
Цвет акцента
Синий
Фиолетовый
Пурпурный
Раздел 4: задачи
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
← К задачнику
Задачник · решения

Раздел 4. Для уравнения: записать явную разностную схему, записать условие устойчивости разностной схемы (без вывода), привести алгоритм решения

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

Задача 4.1

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

Решение

Постановка задачи

Одномерное уравнение параболического типа с переменным коэффициентом $\sigma(t)=5t$:

$$\frac{\partial u}{\partial t}=5t\,\frac{\partial^{2}u}{\partial x^{2}}-3e^{t},\qquad u=u(t,x),\quad x\in[0,1].$$

Начальное условие: $u(t{=}0,x)=x+1$. Граничные условия 1-го рода (условия Дирихле):

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

Вводим разностную сетку: $n$ — номер слоя по времени, $j$ — номер узла по координате; шаги $\Delta t$ и $h$; $t^{n}=n\Delta t$, $x_{j}=(j-1)h$, $u_{j}^{n}=u(t^{n},x_{j})$.

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

По методу курса (вопрос 6): производную по времени аппроксимируем правой разностью, вторую производную по координате — центральной разностью на известном n-м слое. Переменный коэффициент $5t$ берём на старом слое: $5t^{n}=5n\Delta t$. Свободный член $-3e^{t}$ — на старом слое $-3e^{n\Delta t}$:

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

Начальное условие на сетке:

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

Граничные условия (1-го рода — берутся непосредственно):

$$u_{1}^{n+1}=e^{(n+1)\Delta t},\qquad u_{N}^{n+1}=2e^{(n+1)\Delta t}.$$

2. Рекуррентное соотношение

В уравнении единственное неизвестное — $u_{j}^{n+1}$; выражаем его явно:

$$\boxed{\,u_{j}^{n+1}=u_{j}^{n}+\frac{5\,n\Delta t\cdot\Delta t}{h^{2}}\bigl(u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}\bigr)-3e^{\,n\Delta t}\,\Delta t\,}$$

Соотношение позволяет напрямую рассчитать значение в узле через известные значения соседних узлов на старом слое.

3. Условие устойчивости (без вывода)

Схема для уравнения параболического типа без первой производной условно устойчива (вопрос 7): $\dfrac{\Delta t}{h^{2}}\le\dfrac{1}{2\sigma}$. Здесь $\sigma=5t$ — максимум на отрезке достигается при наибольшем $t$, поэтому используем текущее (наибольшее) значение $\sigma=5t^{n}$:

$$\boxed{\,\frac{\Delta t}{h^{2}}\le\frac{1}{2\cdot5t}=\frac{1}{10t}\quad\Longleftrightarrow\quad \Delta t\le\frac{h^{2}}{10\,t}\,}$$

Схема условно устойчива: ограничение на $\Delta t$ ужесточается с ростом $t$.

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

  1. Задать сетку: $h$, $\Delta t$ (с учётом условия устойчивости при наибольшем $t$), числа узлов $N_x$, $N_t$.
  2. Начальный слой: цикл $j=1,\dots,N_x$: $u_{j}^{0}=(j-1)h+1$.
  3. Внешний цикл по времени $n=0,1,\dots,N_t-1$:
    • Внутренний цикл по координате $j=2,\dots,N_x-1$ — расчёт по рекуррентной формуле: $$u_{j}^{n+1}=u_{j}^{n}+\frac{5n\Delta t\,\Delta t}{h^{2}}\bigl(u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}\bigr)-3e^{\,n\Delta t}\Delta t.$$
    • Левая граница: $u_{1}^{n+1}=e^{(n+1)\Delta t}$.
    • Правая граница: $u_{N_x}^{n+1}=2e^{(n+1)\Delta t}$.
  4. После завершения цикла по $n$ — массив $u_{j}^{n}$ содержит решение.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.2

$$\frac{\partial u}{\partial t} + 2\frac{\partial u}{\partial x} = 3\frac{\partial^2 u}{\partial x^2} + x^2$$
$$u = u(t, x), \quad u(t=0, x) = x$$
$$\begin{cases} u(t, x=0) = 0 \\ u(t, x=1) = t + 1 \end{cases}$$

Решение

Постановка задачи

Уравнение параболического типа с первой производной по координате (конвекция-диффузия), $v=2$, $\sigma=3$:

$$\frac{\partial u}{\partial t}+2\,\frac{\partial u}{\partial x}=3\,\frac{\partial^{2}u}{\partial x^{2}}+x^{2},\qquad u=u(t,x),\quad x\in[0,1].$$

Начальное условие $u(t{=}0,x)=x$; граничные условия 1-го рода:

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

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

Производная по времени — правая разность; вторая производная по координате — центральная разность на n-м слое. Первую производую $\partial u/\partial x$ при $v=2>0$ аппроксимируем левой конечной разностью — именно такой выбор обеспечивает устойчивость явной схемы (гл. 6.2). Свободный член $x^{2}=[(j-1)h]^{2}$:

$$\frac{u_{j}^{n+1}-u_{j}^{n}}{\Delta t}+2\,\frac{u_{j}^{n}-u_{j-1}^{n}}{h}=3\,\frac{u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}}{h^{2}}+\bigl[(j-1)h\bigr]^{2}.$$

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

Граничные условия (1-го рода): $u_{1}^{n+1}=0,\qquad u_{N}^{n+1}=(n+1)\Delta t+1.$

2. Рекуррентное соотношение

$$\boxed{\,u_{j}^{n+1}=u_{j}^{n}+2\,\frac{\Delta t}{h}\bigl(u_{j-1}^{n}-u_{j}^{n}\bigr)+3\,\frac{\Delta t}{h^{2}}\bigl(u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}\bigr)+\bigl[(j-1)h\bigr]^{2}\Delta t\,}$$

3. Условие устойчивости (без вывода)

Для явной схемы конвекционно-диффузионного уравнения (гл. 6.2) при $v>0$ и левой разности условие устойчивости имеет вид:

$$\boxed{\,v\,\frac{\Delta t}{h}+2\sigma\,\frac{\Delta t}{h^{2}}\le1\quad\Longrightarrow\quad 2\,\frac{\Delta t}{h}+6\,\frac{\Delta t}{h^{2}}\le1\,}$$

Схема условно устойчива.

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

  1. Задать сетку $h$, $\Delta t$ (по условию устойчивости $2\frac{\Delta t}{h}+6\frac{\Delta t}{h^{2}}\le1$), $N_x$, $N_t$.
  2. Начальный слой: $j=1,\dots,N_x$: $u_{j}^{0}=(j-1)h$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Цикл по координате $j=2,\dots,N_x-1$ — по рекуррентной формуле выше.
    • Левая граница: $u_{1}^{n+1}=0$.
    • Правая граница: $u_{N_x}^{n+1}=(n+1)\Delta t+1$.
  4. Результат — массив $u_{j}^{n}$.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.3

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

Решение

Постановка задачи

Конвекционно-диффузионное уравнение с переменными коэффициентами. Приведём к стандартному виду $\dfrac{\partial u}{\partial t}+v\dfrac{\partial u}{\partial x}=\sigma\dfrac{\partial^{2}u}{\partial x^{2}}+f$:

$$\frac{\partial u}{\partial t}-6t\,\frac{\partial u}{\partial x}=8x\,\frac{\partial^{2}u}{\partial x^{2}}-4tx,$$

то есть скорость переноса $v=-6t$ (при $t>0$ имеем $v<0$), коэффициент диффузии $\sigma=8x>0$. Начальное условие $u(t{=}0,x)=-4x$; граничные условия 1-го рода:

$$\begin{cases}u(t,x{=}0)=0\\ u(t,x{=}1)=3t-4\end{cases}$$

Узлы: $t^{n}=n\Delta t$, $x_{j}=(j-1)h$. Переменные коэффициенты берём на старом слое: $v=-6t^{n}=-6n\Delta t$, $\sigma=8x_{j}=8(j-1)h$.

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

Производная по времени — правая разность; вторая производная — центральная на n-м слое. Так как $v=-6t<0$, первую производную $\partial u/\partial x$ аппроксимируем правой конечной разностью (выбор, дающий устойчивость явной схемы при $v<0$). Свободный член $-4tx=-4\,n\Delta t\,(j-1)h$:

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

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

Граничные условия: $u_{1}^{n+1}=0,\qquad u_{N}^{n+1}=3(n+1)\Delta t-4.$

2. Рекуррентное соотношение

$$\boxed{\,u_{j}^{n+1}=u_{j}^{n}+6\,n\Delta t\,\frac{\Delta t}{h}\bigl(u_{j+1}^{n}-u_{j}^{n}\bigr)+8(j-1)h\,\frac{\Delta t}{h^{2}}\bigl(u_{j+1}^{n}-2u_{j}^{n}+u_{j-1}^{n}\bigr)-4\,n\Delta t\,(j-1)h\,\Delta t\,}$$

3. Условие устойчивости (без вывода)

Для явной схемы конвекционно-диффузионного уравнения условие устойчивости (гл. 6.2): $|v|\dfrac{\Delta t}{h}+2\sigma\dfrac{\Delta t}{h^{2}}\le1$. Подставляя максимальные по сетке значения $|v|=6t$ и $\sigma=8x\le8$:

$$\boxed{\,6t\,\frac{\Delta t}{h}+2\cdot8x\,\frac{\Delta t}{h^{2}}\le1\,}$$

(в коде проверяется для текущих $t^{n}$ и максимального $x=1$, т.е. $\sigma_{\max}=8$). Схема условно устойчива.

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

  1. Задать $h$, $\Delta t$ (по условию устойчивости при наибольших $t$ и $x=1$), $N_x$, $N_t$.
  2. Начальный слой: $u_{j}^{0}=-4(j-1)h$, $j=1,\dots,N_x$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Цикл по $j=2,\dots,N_x-1$ — расчёт коэффициентов $v=-6n\Delta t$, $\sigma=8(j-1)h$ и значения $u_{j}^{n+1}$ по рекуррентной формуле.
    • Левая граница: $u_{1}^{n+1}=0$.
    • Правая граница: $u_{N_x}^{n+1}=3(n+1)\Delta t-4$.
  4. Результат — массив $u_{j}^{n}$.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.4

$$\frac{\partial u}{\partial t} - 0.25\frac{\partial u}{\partial x} = 4x - t$$
$$u = u(t, x)$$
$$u(t=0, x) = 0$$
$$u(t, x=1) = 4t$$

Решение

Постановка задачи

Дифференциальное уравнение в частных производных 1-го порядка (уравнение переноса). Приведём к виду $\dfrac{\partial u}{\partial t}+v\dfrac{\partial u}{\partial x}=f$:

$$\frac{\partial u}{\partial t}-0{,}25\,\frac{\partial u}{\partial x}=4x-t,\qquad u=u(t,x),\quad x\in[0,1],$$

скорость переноса $v=-0{,}25<0$. Начальное условие $u(t{=}0,x)=0$. Для уравнения 1-го порядка задаётся одно граничное условие; здесь — на правой границе $u(t,x{=}1)=4t$. Узлы: $x_{j}=(j-1)h$, $t^{n}=n\Delta t$.

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

Производную по времени аппроксимируем правой разностью. Так как $v<0$, производную по координате аппроксимируем правой конечной разностью — этот выбор даёт устойчивую явную схему (гл. 5.3). Свободный член $4x-t=4(j-1)h-n\Delta t$:

$$\frac{u_{j}^{n+1}-u_{j}^{n}}{\Delta t}-0{,}25\,\frac{u_{j+1}^{n}-u_{j}^{n}}{h}=4(j-1)h-n\Delta t.$$

Начальное условие: $u_{j}^{0}=0$.

Граничное условие (правое, 1-го рода): $u_{N}^{n+1}=4(n+1)\Delta t.$

2. Рекуррентное соотношение

Выражаем единственное неизвестное $u_{j}^{n+1}$:

$$\boxed{\,u_{j}^{n+1}=u_{j}^{n}+0{,}25\,\frac{\Delta t}{h}\bigl(u_{j+1}^{n}-u_{j}^{n}\bigr)+\bigl(4(j-1)h-n\Delta t\bigr)\Delta t\,}$$

Формула вычисляет все значения нового слоя, кроме правого граничного узла, который берётся из граничного условия.

3. Условие устойчивости (без вывода)

Явная схема с правой разностью устойчива при $v<0$ (гл. 5.3.1), условие:

$$\boxed{\,-1\le v\,\frac{\Delta t}{h}<0\quad\Longleftrightarrow\quad |v|\,\frac{\Delta t}{h}\le1\quad\Longrightarrow\quad 0{,}25\,\frac{\Delta t}{h}\le1\,}$$

(число Куранта не превосходит 1). Схема условно устойчива.

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

  1. Задать $h$, $\Delta t$ (по условию устойчивости $0{,}25\frac{\Delta t}{h}\le1$), $N_x$, $N_t$.
  2. Начальный слой: $u_{j}^{0}=0$, $j=1,\dots,N_x$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Цикл по координате $j=1,\dots,N_x-1$ — по рекуррентной формуле (используются $u_{j}^{n}$ и $u_{j+1}^{n}$).
    • Правая граница: $u_{N_x}^{n+1}=4(n+1)\Delta t$.
  4. Результат — массив $u_{j}^{n}$.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.5

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

Решение

Постановка задачи

Дифференциальное уравнение в частных производных 1-го порядка (уравнение переноса), уже в стандартном виде $\dfrac{\partial u}{\partial t}+v\dfrac{\partial u}{\partial x}=f$:

$$\frac{\partial u}{\partial t}+\frac{\partial u}{\partial x}=2-x-t,\qquad u=u(t,x),\quad x\in[0,1],$$

скорость переноса $v=1>0$. Начальное условие $u(t{=}0,x)=x$. Граничное условие (для уравнения 1-го порядка — одно): $u(t,x{=}1)=t$. Узлы: $x_{j}=(j-1)h$, $t^{n}=n\Delta t$.

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

Производная по времени — правая разность. Так как $v=1>0$, производную по координате аппроксимируем левой конечной разностью — этот выбор обеспечивает устойчивость явной схемы (гл. 5.4). Свободный член $2-x-t=2-(j-1)h-n\Delta t$:

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

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

Граничное условие (1-го рода) на $x=1$: $u_{N}^{n+1}=(n+1)\Delta t.$

2. Рекуррентное соотношение

Выражаем $u_{j}^{n+1}$:

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

Формула вычисляет значения нового слоя через значения соседних узлов слева на старом слое; граничный узел берётся из граничного условия.

3. Условие устойчивости (без вывода)

Явная схема с левой разностью устойчива при $v>0$ (гл. 5.4.1), условие:

$$\boxed{\,0(число Куранта не превосходит 1). Схема условно устойчива.

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

  1. Задать $h$, $\Delta t$ (по условию устойчивости $\frac{\Delta t}{h}\le1$), $N_x$, $N_t$.
  2. Начальный слой: $u_{j}^{0}=(j-1)h$, $j=1,\dots,N_x$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Цикл по координате $j=2,\dots,N_x$ — по рекуррентной формуле (используются $u_{j-1}^{n}$ и $u_{j}^{n}$).
    • Граничный узел $u_{N_x}^{n+1}=(n+1)\Delta t$ берётся из граничного условия.
  4. Результат — массив $u_{j}^{n}$.
⚠ Требует уточнения у преподавателя. В условии есть несогласованность: при $v>0$ устойчива явная схема с левой разностью, которой нужно левое граничное условие ($x=0$), а в задаче задано правое ГУ ($x=1$). С данным правым ГУ устойчивой явной схемы при $v>0$ не существует (правая разность при $v>0$ неустойчива). Выше приведена устойчивая схема с левой разностью; вопрос о том, какое ГУ имелось в виду, стоит уточнить у преподавателя.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.6

$$\frac{\partial u}{\partial t} = 6\frac{\partial^2 u}{\partial x^2} + 6\frac{\partial^2 u}{\partial y^2} + xy$$
$$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), $\sigma=6$:

$$\frac{\partial u}{\partial t}=6\Bigl(\frac{\partial^{2}u}{\partial x^{2}}+\frac{\partial^{2}u}{\partial y^{2}}\Bigr)+xy,\qquad u=u(t,x,y).$$

Начальное условие $u(t{=}0,x,y)=0$; граничные условия 1-го рода по каждой координате:

$$\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}$$

Сетка трёхмерная: $n$ — по $t$, $j$ — по $x$, $k$ — по $y$; шаги $\Delta t$, $h_x$, $h_y$; $x_{j}=(j-1)h_x$, $y_{k}=(k-1)h_y$, $u_{j,k}^{n}=u(t^{n},x_j,y_k)$.

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

Производная по времени — правая разность; обе вторые производные — центральные разности на n-м слое. Свободный член $xy=(j-1)h_x\,(k-1)h_y$:

$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n}}{\Delta t}=6\Bigl(\frac{u_{j+1,k}^{n}-2u_{j,k}^{n}+u_{j-1,k}^{n}}{h_x^{2}}+\frac{u_{j,k+1}^{n}-2u_{j,k}^{n}+u_{j,k-1}^{n}}{h_y^{2}}\Bigr)+(j-1)h_x\,(k-1)h_y.$$

Начальное условие: $u_{j,k}^{0}=0$.

Граничные условия (1-го рода):

$$u_{1,k}^{n+1}=0,\quad u_{N_x,k}^{n+1}=(n+1)\Delta t\,(k-1)h_y;\qquad u_{j,1}^{n+1}=0,\quad u_{j,N_y}^{n+1}=(n+1)\Delta t\,(j-1)h_x.$$

2. Рекуррентное соотношение

$$\boxed{\,u_{j,k}^{n+1}=u_{j,k}^{n}+6\frac{\Delta t}{h_x^{2}}\bigl(u_{j+1,k}^{n}-2u_{j,k}^{n}+u_{j-1,k}^{n}\bigr)+6\frac{\Delta t}{h_y^{2}}\bigl(u_{j,k+1}^{n}-2u_{j,k}^{n}+u_{j,k-1}^{n}\bigr)+(j-1)(k-1)h_x h_y\,\Delta t\,}$$

3. Условие устойчивости (без вывода)

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

$$\boxed{\,\frac{\Delta t}{h_x^{2}}+\frac{\Delta t}{h_y^{2}}\le\frac{1}{2\sigma}=\frac{1}{12}\,}$$

При равных шагах $h_x=h_y=h$: $\dfrac{\Delta t}{h^{2}}\le\dfrac{1}{4\sigma}=\dfrac{1}{24}$. Схема условно устойчива.

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

  1. Задать сетку $h_x$, $h_y$, $\Delta t$ (по условию $\frac{\Delta t}{h_x^{2}}+\frac{\Delta t}{h_y^{2}}\le\frac{1}{12}$), $N_x$, $N_y$, $N_t$.
  2. Начальный слой: двойной цикл $j=1,\dots,N_x$, $k=1,\dots,N_y$: $u_{j,k}^{0}=0$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Двойной цикл по внутренним узлам $j=2,\dots,N_x-1$, $k=2,\dots,N_y-1$ — расчёт $u_{j,k}^{n+1}$ по рекуррентной формуле.
    • Граничные узлы: $u_{1,k}^{n+1}=0$, $u_{N_x,k}^{n+1}=(n+1)\Delta t(k-1)h_y$; $u_{j,1}^{n+1}=0$, $u_{j,N_y}^{n+1}=(n+1)\Delta t(j-1)h_x$.
  4. Результат — массив $u_{j,k}^{n}$.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.7

$$\frac{\partial u}{\partial t} = 1.3\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2}\right) + 1$$
$$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}$$

Решение

Постановка задачи

Двумерное уравнение параболического типа без первых производных, $\sigma=1{,}3$ (вопрос 13):

$$\frac{\partial u}{\partial t}=1{,}3\Bigl(\frac{\partial^{2}u}{\partial x^{2}}+\frac{\partial^{2}u}{\partial y^{2}}\Bigr)+1,\qquad u=u(t,x,y).$$

Начальное условие $u(t{=}0,x,y)=xy$; граничные условия 1-го рода:

$$\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}$$

Сетка: $n$ — по $t$, $j$ — по $x$, $k$ — по $y$; $x_{j}=(j-1)h_x$, $y_{k}=(k-1)h_y$, $u_{j,k}^{n}=u(t^{n},x_j,y_k)$.

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

Производная по времени — правая разность; обе вторые производные — центральные разности на n-м слое; свободный член $=1$:

$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n}}{\Delta t}=1{,}3\Bigl(\frac{u_{j+1,k}^{n}-2u_{j,k}^{n}+u_{j-1,k}^{n}}{h_x^{2}}+\frac{u_{j,k+1}^{n}-2u_{j,k}^{n}+u_{j,k-1}^{n}}{h_y^{2}}\Bigr)+1.$$

Начальное условие: $u_{j,k}^{0}=(j-1)h_x\,(k-1)h_y$.

Граничные условия (1-го рода):

$$u_{1,k}^{n+1}=(n+1)\Delta t,\quad u_{N_x,k}^{n+1}=(n+1)\Delta t+(k-1)h_y;$$ $$u_{j,1}^{n+1}=(n+1)\Delta t,\quad u_{j,N_y}^{n+1}=(n+1)\Delta t+(j-1)h_x.$$

2. Рекуррентное соотношение

$$\boxed{\,u_{j,k}^{n+1}=u_{j,k}^{n}+1{,}3\frac{\Delta t}{h_x^{2}}\bigl(u_{j+1,k}^{n}-2u_{j,k}^{n}+u_{j-1,k}^{n}\bigr)+1{,}3\frac{\Delta t}{h_y^{2}}\bigl(u_{j,k+1}^{n}-2u_{j,k}^{n}+u_{j,k-1}^{n}\bigr)+\Delta t\,}$$

3. Условие устойчивости (без вывода)

$$\boxed{\,\frac{\Delta t}{h_x^{2}}+\frac{\Delta t}{h_y^{2}}\le\frac{1}{2\sigma}=\frac{1}{2{,}6}\,}$$

При $h_x=h_y=h$: $\dfrac{\Delta t}{h^{2}}\le\dfrac{1}{4\sigma}=\dfrac{1}{5{,}2}$. Схема условно устойчива.

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

  1. Задать $h_x$, $h_y$, $\Delta t$ (по условию $\frac{\Delta t}{h_x^{2}}+\frac{\Delta t}{h_y^{2}}\le\frac{1}{2{,}6}$), $N_x$, $N_y$, $N_t$.
  2. Начальный слой: $j=1,\dots,N_x$, $k=1,\dots,N_y$: $u_{j,k}^{0}=(j-1)h_x(k-1)h_y$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Двойной цикл по внутренним узлам $j=2,\dots,N_x-1$, $k=2,\dots,N_y-1$ — расчёт по рекуррентной формуле.
    • Граничные узлы из ГУ: $u_{1,k}^{n+1}=(n+1)\Delta t$, $u_{N_x,k}^{n+1}=(n+1)\Delta t+(k-1)h_y$; $u_{j,1}^{n+1}=(n+1)\Delta t$, $u_{j,N_y}^{n+1}=(n+1)\Delta t+(j-1)h_x$.
  4. Результат — массив $u_{j,k}^{n}$.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →
Задача 4.8

$$3\frac{\partial u}{\partial t} = 5.2\left(\frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + \frac{\partial^2 u}{\partial z^2}\right) + 3z$$
$$u = u(t, x, y, z), \quad u(t=0, x, y, z) = xy$$
$$\begin{cases} u(t, x=0, y, z) = tz \\ u(t, x=1, y, z) = tz + y \end{cases} \qquad \begin{cases} u(t, x, y=0, z) = tz \\ u(t, x, y=1, z) = tz + x \end{cases} \qquad \begin{cases} u(t, x, y, z=0) = xy \\ u(t, x, y, z=1) = t + xy \end{cases}$$

Решение

Постановка задачи

Трёхмерное уравнение параболического типа без первых производных. Разделим обе части на коэффициент 3 при $\partial u/\partial t$, чтобы привести к стандартному виду $\dfrac{\partial u}{\partial t}=\sigma(\dots)+f$:

$$3\frac{\partial u}{\partial t}=5{,}2\Bigl(\frac{\partial^{2}u}{\partial x^{2}}+\frac{\partial^{2}u}{\partial y^{2}}+\frac{\partial^{2}u}{\partial z^{2}}\Bigr)+3z\;\Longrightarrow\;\frac{\partial u}{\partial t}=\frac{5{,}2}{3}\Bigl(\frac{\partial^{2}u}{\partial x^{2}}+\frac{\partial^{2}u}{\partial y^{2}}+\frac{\partial^{2}u}{\partial z^{2}}\Bigr)+z,$$

коэффициент диффузии $\sigma=\dfrac{5{,}2}{3}\approx1{,}733$. Начальное условие $u(t{=}0,x,y,z)=xy$; граничные условия 1-го рода:

$$\begin{cases}u(t,x{=}0,y,z)=tz\\ u(t,x{=}1,y,z)=tz+y\end{cases}\;\begin{cases}u(t,x,y{=}0,z)=tz\\ u(t,x,y{=}1,z)=tz+x\end{cases}\;\begin{cases}u(t,x,y,z{=}0)=xy\\ u(t,x,y,z{=}1)=t+xy\end{cases}$$

Сетка четырёхмерная: $n$ — по $t$, $j$ — по $x$, $k$ — по $y$, $m$ — по $z$; шаги $\Delta t$, $h_x$, $h_y$, $h_z$; $u_{j,k,m}^{n}=u(t^{n},x_j,y_k,z_m)$, $x_{j}=(j-1)h_x$, $y_{k}=(k-1)h_y$, $z_{m}=(m-1)h_z$.

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

Производная по времени — правая разность; все три вторые производные — центральные разности на n-м слое; свободный член $z=(m-1)h_z$:

$$\frac{u_{j,k,m}^{n+1}-u_{j,k,m}^{n}}{\Delta t}=\frac{5{,}2}{3}\Bigl(\frac{u_{j+1,k,m}^{n}-2u_{j,k,m}^{n}+u_{j-1,k,m}^{n}}{h_x^{2}}+\frac{u_{j,k+1,m}^{n}-2u_{j,k,m}^{n}+u_{j,k-1,m}^{n}}{h_y^{2}}+\frac{u_{j,k,m+1}^{n}-2u_{j,k,m}^{n}+u_{j,k,m-1}^{n}}{h_z^{2}}\Bigr)+(m-1)h_z.$$

Начальное условие: $u_{j,k,m}^{0}=(j-1)h_x\,(k-1)h_y$.

Граничные условия (1-го рода): $t=(n+1)\Delta t$, $x=(j-1)h_x$, $y=(k-1)h_y$, $z=(m-1)h_z$:

$$u_{1,k,m}^{n+1}=(n+1)\Delta t\,(m-1)h_z,\quad u_{N_x,k,m}^{n+1}=(n+1)\Delta t\,(m-1)h_z+(k-1)h_y;$$ $$u_{j,1,m}^{n+1}=(n+1)\Delta t\,(m-1)h_z,\quad u_{j,N_y,m}^{n+1}=(n+1)\Delta t\,(m-1)h_z+(j-1)h_x;$$ $$u_{j,k,1}^{n+1}=(j-1)h_x\,(k-1)h_y,\quad u_{j,k,N_z}^{n+1}=(n+1)\Delta t+(j-1)h_x\,(k-1)h_y.$$

2. Рекуррентное соотношение

$$\boxed{\,u_{j,k,m}^{n+1}=u_{j,k,m}^{n}+\frac{5{,}2}{3}\Delta t\bigl(\Lambda_{xx}+\Lambda_{yy}+\Lambda_{zz}\bigr)+(m-1)h_z\,\Delta t\,}$$

где $\Lambda_{xx}=\dfrac{u_{j+1,k,m}^{n}-2u_{j,k,m}^{n}+u_{j-1,k,m}^{n}}{h_x^{2}}$ и аналогично $\Lambda_{yy}$, $\Lambda_{zz}$.

3. Условие устойчивости (без вывода)

Для явной схемы трёхмерного параболического уравнения (формула 9.5):

$$\boxed{\,\frac{\Delta t}{h_x^{2}}+\frac{\Delta t}{h_y^{2}}+\frac{\Delta t}{h_z^{2}}\le\frac{1}{2\sigma}=\frac{1}{2\cdot\frac{5{,}2}{3}}=\frac{3}{10{,}4}\,}$$

При равных шагах $h_x=h_y=h_z=h$: $\dfrac{\Delta t}{h^{2}}\le\dfrac{1}{6\sigma}=\dfrac{3}{31{,}2}=\dfrac{1}{10{,}4}$. Схема условно устойчива.

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

  1. Задать $h_x$, $h_y$, $h_z$, $\Delta t$ (по условию устойчивости 9.5), $N_x$, $N_y$, $N_z$, $N_t$.
  2. Начальный слой: тройной цикл $j,k,m$: $u_{j,k,m}^{0}=(j-1)h_x(k-1)h_y$.
  3. Цикл по времени $n=0,\dots,N_t-1$:
    • Тройной цикл по внутренним узлам $j=2,\dots,N_x-1$, $k=2,\dots,N_y-1$, $m=2,\dots,N_z-1$ — расчёт $u_{j,k,m}^{n+1}$ по рекуррентной формуле.
    • Граничные узлы по всем шести граням — из соответствующих граничных условий 1-го рода.
  4. Результат — массив $u_{j,k,m}^{n}$.
Блок-схема алгоритма
Явная разностная схема (параболическое уравнение)
Явная разностная схема (параболическое уравнение) · все блок-схемы →