Решения методами курса со ссылками на семинары, разбор вопросов и блок-схемы. Условия и оригинал — на странице «Контрольные».
PDF: Контрольная работа № 2 (оригинал) 📚 Все 5 вариантов Контрольная работа № 2 с решениями →Для уравнения:
записать схему переменных направлений. Для каждой из подсхем: привести к виду, удобному для использования метода прогонки; проверить сходимость прогонки; записать рекуррентное соотношение; найти $\alpha_1$, $\beta_1$. Записать блок-схему алгоритма.
Двумерное параболическое уравнение. $\sigma_x=0{,}2$, $\sigma_y=0{,}5$, реакция $-5tu$. По $x$ — условия 2-го рода (Неймана), по $y$ — 1-го рода (Дирихле). Сетка: $u_{j,k}^n=u(t^n,x_j,y_k)$.
Шаг $\Delta t$ делят точкой $t^{n+1/2}$ на две подсхемы. В каждой подсхеме неявен только один оператор (вдоль одного направления) — тогда система трёхдиагональна и решается прогонкой; второй оператор берётся явно. Диффузионные операторы, расщеплённые между подсхемами, входят с множителем $\tfrac{\sigma}{2}$. Обозначим $\Lambda_{xx}u=\dfrac{u_{j+1,k}-2u_{j,k}+u_{j-1,k}}{h_x^2}$, $\Lambda_{yy}u=\dfrac{u_{j,k+1}-2u_{j,k}+u_{j,k-1}}{h_y^2}$.
Умножаем на $\Delta t/2$, неизвестные слоя $n{+}1/2$ — налево. Получаем трёхдиагональную по $x$ систему $a_j u_{j+1,k}^{n+1/2}+b_j u_{j,k}^{n+1/2}+c_j u_{j-1,k}^{n+1/2}=\xi_{j,k}$:
$$a_j=c_j=-\frac{0{,}2\,\Delta t}{2h_x^2}=-\frac{0{,}1\,\Delta t}{h_x^2},\qquad b_j=1+\frac{0{,}2\,\Delta t}{h_x^2}+\frac{5t^{n+1/2}\Delta t}{2},$$ $$\xi_{j,k}=u_{j,k}^{n}+\frac{0{,}5\,\Delta t}{2}\,\Lambda_{yy}u_{j,k}^{n}.$$Выполнено всегда (реакционный член только усиливает диагональ). Для подсхемы ② — то же по $k$ с $\sigma_y=0{,}5$.
$u_{j,k}^{n+1/2}=\alpha_j u_{j+1,k}^{n+1/2}+\beta_j$, $\;\alpha_j=\dfrac{-a_j}{b_j+c_j\alpha_{j-1}}$, $\;\beta_j=\dfrac{\xi_{j,k}-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$. Левое ГУ по $x$ — 2-го рода: $\dfrac{u_{2,k}-u_{1,k}}{h_x}=t y_k\Rightarrow u_{1,k}=u_{2,k}-h_x t y_k$, откуда стартовые
$$\alpha_1=1,\qquad \beta_1=-h_x\,t\,y_k.$$Правое ГУ по $x$: $\dfrac{u_{N_x,k}-u_{N_x-1,k}}{h_x}=5ty_k$ даёт $u_{N_x,k}=\dfrac{\beta_{N_x-1}+h_x\,5t y_k}{1-\alpha_{N_x-1}}$. В подсхеме ② по $y$ узлы границ берутся прямо из условий Дирихле $u_{j,0}=tx_j$, $u_{j,N_y}=2tx_j$.
Для уравнения:
выбрать соответствующие ему граничные условия; записать неявную разностную схему, используя метод дробных шагов. Для каждой из подсхем записать рекуррентное соотношение. Записать блок-схему алгоритма.
Только первые производные — двумерное уравнение 1-го порядка (перенос). Приводим к виду $\dfrac{\partial u}{\partial t}+v_1\dfrac{\partial u}{\partial x}+v_2\dfrac{\partial u}{\partial y}=f$:
$$\frac{\partial u}{\partial t}-2\,\frac{\partial u}{\partial x}+0{,}05\,\frac{\partial u}{\partial y}=0\quad\Rightarrow\quad v_1=-2,\;\; v_2=0{,}05,\;\; f=0.$$Для уравнения 1-го порядка нужно по одному ГУ на каждое направление — на входной (по потоку) границе; разность берётся «против потока»:
Условия $u(t,0,y)$ и $u(t,x,1)$ — на выходных границах — для схемы не используются (иначе задача переопределена).
Шаг $\Delta t$ дробят на два полушага, на каждом неявен один оператор переноса. Подсхема ① ($n\to n+1/2$): неявно по $x$:
$$\frac{u_{j,k}^{n+1/2}-u_{j,k}^{n}}{\Delta t}=2\,\frac{u_{j+1,k}^{n+1/2}-u_{j,k}^{n+1/2}}{h_x}.$$Подсхема ② ($n+1/2\to n+1$): неявно по $y$:
$$\frac{u_{j,k}^{n+1}-u_{j,k}^{n+1/2}}{\Delta t}=-0{,}05\,\frac{u_{j,k}^{n+1}-u_{j,k-1}^{n+1}}{h_y}.$$Каждая подсхема — двухдиагональная (фигурируют только два узла), решается прямой подстановкой без прогонки. Подсхема ① (обозначим $r_x=\dfrac{2\Delta t}{h_x}$), идём от границы $x{=}1$ ($j=N_x$) к меньшим $j$:
$$(1+r_x)u_{j,k}^{n+1/2}-r_x\,u_{j+1,k}^{n+1/2}=u_{j,k}^{n}\;\Rightarrow\; u_{j,k}^{n+1/2}=\frac{u_{j,k}^{n}+r_x\,u_{j+1,k}^{n+1/2}}{1+r_x}.$$Подсхема ② ($r_y=\dfrac{0{,}05\,\Delta t}{h_y}$), идём от границы $y{=}0$ ($k=1$) к большим $k$:
$$(1+r_y)u_{j,k}^{n+1}-r_y\,u_{j,k-1}^{n+1}=u_{j,k}^{n+1/2}\;\Rightarrow\; u_{j,k}^{n+1}=\frac{u_{j,k}^{n+1/2}+r_y\,u_{j,k-1}^{n+1}}{1+r_y}.$$Знаменатели $1+r_x>0$, $1+r_y>0$ — схема устойчива при любых шагах (неявная). Блок-схема — ниже и на странице «Блок-схемы» (расщепление, уравнение 1-го порядка).

Привести уравнение:
к виду, удобному для использования метода установления с использованием схемы Кранка-Николсона. Проверить сходимость прогонки. Записать итерационное соотношение. Найти $\alpha_1$, $\beta_1$. Записать условие для окончания итерационного процесса. Записать начальное приближение. Записать блок-схему алгоритма.
Это краевая задача для ОДУ 2-го порядка с условиями Неймана на обоих концах.
Стационарную задачу превращают в нестационарную, вводя фиктивную производную по времени $\partial\widetilde u/\partial t$: при $t\to\infty$ решение «устанавливается» к искомому ($\partial\widetilde u/\partial t\to0$). Правило: уравнение приводят к виду, где вторая производная стоит в правой части с положительным коэффициентом, а $\partial\widetilde u/\partial t$ добавляют слева. Получаем параболическое уравнение:
$$\frac{\partial \widetilde u}{\partial t}=0{,}3\,\frac{\partial^2 \widetilde u}{\partial x^2}+\frac{\partial \widetilde u}{\partial x}-3x^2.$$Проверка: при $\partial\widetilde u/\partial t=0$ получаем $0{,}3u''+u'-3x^2=0$, т.е. исходное $u'+0{,}3u''=3x^2$. ✓ Здесь $\sigma=0{,}3>0$; конвективный член $+\widetilde u_x$ отвечает скорости $v=-1<0$ → правая разность $\dfrac{u_{j+1}-u_j}{h}$.
Обозначим итерации верхним индексом $s$. Оператор расщепляем пополам между слоями $s$ и $s{+}1$:
$$\frac{u_j^{s+1}-u_j^s}{\Delta t}=\frac{0{,}3}{2}\big(\Lambda_{xx}u^{s+1}+\Lambda_{xx}u^{s}\big)+\frac12\Big(\tfrac{u_{j+1}^{s+1}-u_j^{s+1}}{h}+\tfrac{u_{j+1}^{s}-u_j^{s}}{h}\Big)-3x_j^2.$$Трёхдиагональная система $a_j u_{j+1}^{s+1}+b_j u_j^{s+1}+c_j u_{j-1}^{s+1}=\xi_j$:
$$a_j=-\frac{0{,}15\,\Delta t}{h^2}-\frac{\Delta t}{2h},\qquad c_j=-\frac{0{,}15\,\Delta t}{h^2},\qquad b_j=1+\frac{0{,}3\,\Delta t}{h^2}+\frac{\Delta t}{2h}.$$ $$|a_j|+|c_j|=\frac{0{,}3\,\Delta t}{h^2}+\frac{\Delta t}{2h}<1+\frac{0{,}3\,\Delta t}{h^2}+\frac{\Delta t}{2h}=|b_j|.$$Диагональное преобладание (с запасом ровно $1$) — прогонка сходится при любых $\Delta t,h$.
$u_j^{s+1}=\alpha_j u_{j+1}^{s+1}+\beta_j$, $\;\alpha_j=\dfrac{-a_j}{b_j+c_j\alpha_{j-1}}$, $\;\beta_j=\dfrac{\xi_j-c_j\beta_{j-1}}{b_j+c_j\alpha_{j-1}}$. Левое ГУ $\dfrac{du}{dx}(0)=0$ (2-й род, правая разность $\dfrac{u_2-u_1}{h}=0\Rightarrow u_1=u_2$) даёт
$$\alpha_1=1,\qquad \beta_1=0.$$Правое ГУ $\dfrac{du}{dx}(1)=1$: $\dfrac{u_{N_x}-u_{N_x-1}}{h}=1\Rightarrow u_{N_x}=\dfrac{\beta_{N_x-1}+h}{1-\alpha_{N_x-1}}$.
Начальное приближение: $u_j^{0}=0$ (любая гладкая функция; установление сходится к решению независимо от старта). Условие окончания итераций — когда решение перестаёт меняться:
$$\max_j\big|u_j^{s+1}-u_j^{s}\big|<\varepsilon.$$Блок-схема — ниже и на странице «Блок-схемы» (метод установления).

Для уравнения:
записать схему предиктор-корректор. Для каждой из подсхем записать рекуррентное соотношение. Указать порядок аппроксимации схемы.
Приводим к каноническому виду двумерной параболической задачи $\dfrac{\partial u}{\partial t}=\sigma_x\dfrac{\partial^2 u}{\partial x^2}+\sigma_y\dfrac{\partial^2 u}{\partial y^2}+f$, где переменные коэффициенты при вторых производных
$$\sigma_x=7t y_k,\qquad \sigma_y=5t,$$а в свободный член $f$ собраны все прочие члены — конвективный $-8\,\partial u/\partial y$ (центральная разность) и нелинейный реакционный $-3u^2$:
$$f=-8\,\frac{u_{j,k+1}-u_{j,k-1}}{2h_y}-3\big(u_{j,k}\big)^2.$$Метод расщепляет только вторые производные, а нелинейность снимает в два прохода: на предикторе считают промежуточное $\bar u$ (нелинейный член — по старому слою), на корректоре уточняют (нелинейный член — по предиктору). Полушаг $\Delta t/2$.
Предиктор ① ($n\to n+1/2$): неявно по $x$, явно по $y$:
$$\frac{\bar u_{j,k}-u_{j,k}^{n}}{\Delta t/2}=7t y_k\,\Lambda_{xx}\bar u_{j,k}+5t\,\Lambda_{yy}u_{j,k}^{n}+f\big(u^{n}\big).$$Корректор ② ($n+1/2\to n+1$): неявно по $y$, явно по $x$:
$$\frac{u_{j,k}^{n+1}-\bar u_{j,k}}{\Delta t/2}=7t y_k\,\Lambda_{xx}\bar u_{j,k}+5t\,\Lambda_{yy}u_{j,k}^{n+1}+f\big(\bar u\big).$$Каждая подсхема — трёхдиагональная по своему направлению, решается прогонкой $u=\alpha_{(\cdot)}u_{(\cdot)+1}+\beta_{(\cdot)}$ с
$$\alpha=\frac{-a}{b+c\,\alpha_{\text{пред}}},\qquad \beta=\frac{\xi-c\,\beta_{\text{пред}}}{b+c\,\alpha_{\text{пред}}}.$$Предиктор (прогонка по $j$): $a_j=c_j=-\dfrac{7t y_k\,\Delta t}{2h_x^2}$, $\;b_j=1+\dfrac{7t y_k\,\Delta t}{h_x^2}$, в $\xi_j$ — явный $y$-оператор и $f(u^n)$. Корректор — аналогично по $k$ с $\sigma_y=5t$. Граничные узлы берутся из условий: по $x$ — $u(t,0,y)=ty$, $u(t,1,y)=t^2y$; по $y$ — $u(t,x,0)=tx$, $u(t,x,1)=t^2y$.
Схема предиктор-корректор симметрична относительно полушага, поэтому имеет второй порядок по времени и по обеим координатам:
$$\psi=O\big(\Delta t^2,\,h_x^2,\,h_y^2\big).$$Блок-схема — ниже и на странице «Блок-схемы» (предиктор-корректор, двумерное параболическое).
