I. Функционал метода Бубнова–Галёркина

Запишем ещё раз функционал для уравнения Эйлера (5.4)

I(υ)\displaystyle I(\upsilon) =(L[υ],υ)\displaystyle = (L[\upsilon], \upsilon) 2(f,υ).\displaystyle - 2 \cdot (f, \upsilon).

Линейный оператор L[υ]L[\upsilon] для уравнения параболического типа, интересующего нас, имеет вид

L[υ]\displaystyle L[\upsilon] =υt\displaystyle = \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} a2Δυ.\displaystyle - a^2 \cdot \Delta \upsilon.

Скалярное произведение (L[υ],υ)(L[\upsilon], \upsilon) имеет вид

(L[υ],υ)\displaystyle (L[\upsilon], \upsilon) =M(υta2Δυ)υdM\displaystyle = \int_M \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} - a^2 \cdot \Delta \upsilon \right) \cdot \upsilon \,dM =MυtυdM\displaystyle = \int_M \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} \cdot \upsilon \,dM a2MΔυυdM.\displaystyle - a^2 \cdot \int_M \Delta \upsilon \cdot \upsilon \,dM.

Скалярное произведение (f,υ)(f, \upsilon) имеет вид

(f,υ)\displaystyle (f, \upsilon) =MfυdM.\displaystyle = \int_M f \cdot \upsilon \,dM.

Известна формула Остроградского для оператора Лапласа

MΔυdM\displaystyle \int_M \Delta \upsilon \,dM =SυdS,\displaystyle = \int_S \nabla \upsilon \,dS,
(I.1)

где SS — граница подмногообразия MM, а dSdS — её векторный элемент, направленный по внешней нормали. Проинтегрируем по частям второй интеграл

MΔυυdM\displaystyle \int_M \Delta \upsilon \cdot \upsilon \,dM =SυυdS\displaystyle = \int_S \upsilon \cdot \nabla \upsilon \,dS MυυdM.\displaystyle - \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM.
(I.2)

Таким образом, исходный функционал можно записать в виде

I(υ)\displaystyle I(\upsilon) =MυtυdM\displaystyle = \int_M \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} \cdot \upsilon \,dM a2SυυdS\displaystyle - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dS +a2MυυdM\displaystyle + a^2 \cdot \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM 2MfυdM.\displaystyle - 2 \cdot \int_M f \cdot \upsilon \,dM.

Дадим приращение υ^\widehat{\upsilon} +ϵυ+ \epsilon \cdot \upsilon, где υ^\widehat{\upsilon} — точное решение, а ϵ\epsilon — некоторое малое число. Полное приращение функционала можно записать в виде

I(υ^+ϵυ)\displaystyle I(\widehat{\upsilon} + \epsilon \cdot \upsilon) I(υ^)\displaystyle - I(\widehat{\upsilon}) =M(υ^+ϵυ)t(υ^+ϵυ)dM\displaystyle = \int_M \frac{\displaystyle \partial (\widehat{\upsilon} + \epsilon \cdot \upsilon)}{\displaystyle \partial t} \cdot (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dM a2S(υ^+ϵυ)(υ^+ϵυ)dS\displaystyle - a^2 \cdot \int_S (\widehat{\upsilon} + \epsilon \cdot \upsilon) \cdot \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dS +a2M(υ^+ϵυ)(υ^+ϵυ)dM\displaystyle + a^2 \cdot \int_M \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \cdot \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dM 2Mf(υ^+ϵυ)dM\displaystyle - 2 \cdot \int_M f \cdot (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dM Mυ^tυ^dM\displaystyle - \int_M \frac{\displaystyle \partial \widehat{\upsilon}}{\displaystyle \partial t} \cdot \widehat{\upsilon} \,dM +a2Sυ^υ^dS\displaystyle + a^2 \cdot \int_S \widehat{\upsilon} \cdot \nabla \widehat{\upsilon} \,dS a2Mυ^υ^dM\displaystyle - a^2 \cdot \int_M \nabla \widehat{\upsilon} \cdot \nabla \widehat{\upsilon} \,dM +2Mfυ^dM.\displaystyle + 2 \cdot \int_M f \cdot \widehat{\upsilon} \,dM.

Пренебрегая членами второго порядка малости, пропорциональными ϵ2\epsilon^2, получим

I(υ^+ϵυ)\displaystyle I(\widehat{\upsilon} + \epsilon \cdot \upsilon) I(υ^)\displaystyle - I(\widehat{\upsilon}) =ϵM[υ^tυ+υtυ^]dM\displaystyle = \epsilon \cdot \int_M \left[ \frac{\displaystyle \partial \widehat{\upsilon}}{\displaystyle \partial t} \cdot \upsilon + \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} \cdot \widehat{\upsilon} \right] \,dM ϵa2S[υ^υ+υυ^]dS\displaystyle - \epsilon \cdot a^2 \cdot \int_S \left[ \widehat{\upsilon} \cdot \nabla \upsilon + \upsilon \cdot \nabla \widehat{\upsilon} \right] \,dS +2ϵa2Mυ^υdM\displaystyle + 2 \cdot \epsilon \cdot a^2 \cdot \int_M \nabla \widehat{\upsilon} \cdot \nabla \upsilon \,dM 2ϵMfυdM.\displaystyle - 2 \cdot \epsilon \cdot \int_M f \cdot \upsilon \,dM.

Если вынести ϵ\epsilon за скобки и принять во внимание, что ϵ\epsilon может быть отрицательным, а вот приращение функционала всегда положительно, так как υ^\widehat{\upsilon} — точное решение, то получим в качестве обязательного условия

M[υ^tυ+υtυ^]dM\displaystyle \int_M \left[ \frac{\displaystyle \partial \widehat{\upsilon}}{\displaystyle \partial t} \cdot \upsilon + \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} \cdot \widehat{\upsilon} \right] \,dM a2S[υ^υ+υυ^]dS\displaystyle - a^2 \cdot \int_S \left[ \widehat{\upsilon} \cdot \nabla \upsilon + \upsilon \cdot \nabla \widehat{\upsilon} \right] \,dS +2a2Mυ^υdM\displaystyle + 2 \cdot a^2 \cdot \int_M \nabla \widehat{\upsilon} \cdot \nabla \upsilon \,dM 2MfυdM\displaystyle - 2 \cdot \int_M f \cdot \upsilon \,dM =0.\displaystyle = 0.

Учитывая, что υ^\widehat{\upsilon} υ\approx \upsilon, и сокращая общий множитель, мы возвращаемся к исходному уравнению. Это означает, что численное решение краевой задачи сводится к минимизации функционала

I(υ)\displaystyle I(\upsilon) =MυtυdM\displaystyle = \int_M \frac{\displaystyle \partial \upsilon}{\displaystyle \partial t} \cdot \upsilon \,dM a2SυυdS\displaystyle - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dS +a2MυυdM\displaystyle + a^2 \cdot \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM 2MfυdM\displaystyle - 2 \cdot \int_M f \cdot \upsilon \,dM min.\displaystyle \rightarrow \min.
(I.3)

Множитель 22 при линейном члене MfυdM\int_M f \cdot \upsilon dM сохраняем сознательно: именно он обеспечивает, что условие минимума δI\delta I =0= 0 возвращает исходное уравнение, а не уравнение с лишним множителем 1/21/2 (при дифференцировании квадратичные члены дают множитель 22, и линейный член должен иметь такой же).

Перейдём к разделению на стационарную и нестационарную задачи. Принципиально важно проводить это разделение и последующую дискретизацию по времени на уровне уравнения, а не функционала: производная по времени не является самосопряжённым оператором, поэтому прямая подстановка υ\upsilon =ψ(M)ϕ(t)= \psi(M) \cdot \phi(t) в функционал привела бы к неверным коэффициентам. Запишем слабую форму уравнения L[u]L[u] =f= f, полученную выше интегрированием по частям

MutυdM\displaystyle \int_M \frac{\displaystyle \partial u}{\displaystyle \partial t} \cdot \upsilon \,dM +a2MuυdM\displaystyle + a^2 \cdot \int_M \nabla u \cdot \nabla \upsilon \,dM a2SυudS\displaystyle - a^2 \cdot \int_S \upsilon \cdot \nabla u \,dS =MfυdM,\displaystyle = \int_M f \cdot \upsilon \,dM,
(I.4)

которая должна выполняться для произвольной пробной функции υ\upsilon.

Стационарное уравнение с граничными условиями Дирихле и/или Неймана

Если ut\frac{\displaystyle \partial u}{\displaystyle \partial t} =0= 0, временной член исчезает, и в силу симметрии пространственного оператора слабая форма (I.4) эквивалентна минимизации функционала

a2MυυdM\displaystyle a^2 \cdot \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM 2MfυdM\displaystyle - 2 \cdot \int_M f \cdot \upsilon \,dM a2SυυdS\displaystyle - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dS min.\displaystyle \rightarrow \min.
(I.5)

Нестационарное уравнение с граничными условиями Дирихле и/или Неймана

Производную по времени дискретизируем неявной схемой Эйлера с шагом Δt\Delta t, применяя её к слабой форме уравнения: ut\frac{\displaystyle \partial u}{\displaystyle \partial t} unun1Δt\approx \frac{\displaystyle u_n - u_{n-1}}{\displaystyle \Delta t}, где unu_n — решение на текущем временном слое, а un1u_{n-1} — на предыдущем. Подставив это в (I.4) и домножив на Δt\Delta t, получаем уравнение для шага по времени

M(unun1)υdM\displaystyle \int_M (u_n - u_{n-1}) \cdot \upsilon \,dM +Δta2MunυdM\displaystyle + \Delta t \cdot a^2 \cdot \int_M \nabla u_n \cdot \nabla \upsilon \,dM Δta2SυundS\displaystyle - \Delta t \cdot a^2 \cdot \int_S \upsilon \cdot \nabla u_n \,dS =ΔtMfυdM.\displaystyle = \Delta t \cdot \int_M f \cdot \upsilon \,dM.

Это уравнение, в свою очередь, является условием минимума функционала

Mυn2dM\displaystyle \int_M \upsilon_n^2 \,dM +Δta2MυnυndM\displaystyle + \Delta t \cdot a^2 \cdot \int_M \nabla \upsilon_n \cdot \nabla \upsilon_n \,dM 2M[Δtf+υn1]υndM\displaystyle - 2 \cdot \int_M \left[ \Delta t \cdot f + \upsilon_{n-1} \right] \cdot \upsilon_n \,dM Δta2SυnυndS\displaystyle - \Delta t \cdot a^2 \cdot \int_S \upsilon_n \cdot \nabla \upsilon_n \,dS min.\displaystyle \rightarrow \min.
(I.6)

Таким образом, нестационарное уравнение сведено к последовательному решению стационарных задач: на каждом шаге по известному υn1\upsilon_{n-1} находится υn\upsilon_n.

Матричная форма

Дискретизируем пробную функцию по узлам сетки: υ\upsilon =iqiϕi(M)= \sum_i q_i \cdot \phi_i(M), где ϕi(M)\phi_i(M) — базисные функции, а q\overrightarrow{q} =(q0,,qn)T= (q_0, \ldots, q_n)^T — вектор узловых значений. Подстановка превращает каждый интеграл функционала в квадратичную или линейную форму по q\overrightarrow{q}, а их коэффициенты собираются в матрицы:

MυυdM=qTKq,MυυdM=qTDq,MfυdM=FTq\begin{aligned}\int_M \nabla \upsilon \cdot \nabla \upsilon \,dM &= \overrightarrow{q}^T \cdot K \cdot \overrightarrow{q},\\\int_M \upsilon \cdot \upsilon \,dM &= \overrightarrow{q}^T \cdot D \cdot \overrightarrow{q},\\\int_M f \cdot \upsilon \,dM &= \overrightarrow{F}^T \cdot \overrightarrow{q}\end{aligned}
(I.7)

где KK — матрица жёсткости (интеграл от произведения градиентов), DD — матрица демпфирования (интеграл от произведения пробных функций), F\overrightarrow{F} — вектор нагрузки (интеграл от источника); матрицы KK и DD симметричны. Граничный интеграл a2SυυdS-a^2 \int_S \upsilon \cdot \nabla \upsilon \,dS в матрицу не сворачивается: это поверхностный член, который в дискретной форме входит только в уравнения граничных узлов (у внутреннего узла пробная функция на границе равна нулю) и определяется самим граничным условием.

Дискретную систему получаем по методу Бубнова–Галёркина: подставляем υ\upsilon =iqiϕi= \sum_i q_i \phi_i в слабую форму (I.4) и поочерёдно берём пробные функции ϕj\phi_j. Для стационарного уравнения это даёт систему

a2Kq\displaystyle a^2 K \cdot \overrightarrow{q} =F\displaystyle = \overrightarrow{F} +a2s,\displaystyle + a^2 \overrightarrow{s},
(I.8)

где s\overrightarrow{s} — вектор узловых граничных потоков. Сам поток здесь ничем не задаётся — что с ним делать, определяет тип граничного условия. Учёт граничных условий — задача непростая, и подробно она разобрана в отдельных приложениях: «Учёт граничных условий Дирихле» и «Учёт граничных условий Неймана».

Для нестационарного уравнения (неявная схема Эйлера, см. (I.6)) система на шаге по времени принимает вид

[D+Δta2K]qn\displaystyle \left[ D + \Delta t \cdot a^2 K \right] \cdot \overrightarrow{q}_n =ΔtF\displaystyle = \Delta t \cdot \overrightarrow{F} +Dqn1\displaystyle + D \cdot \overrightarrow{q}_{n-1} +Δta2s.\displaystyle + \Delta t \cdot a^2 \overrightarrow{s}.
(I.9)