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(∂υ∂t−a2⋅Δυ)⋅υ 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​−a2⋅∫MΔυ⋅υ 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​−a2⋅∫Sυ⋅∇υ dS\displaystyle {} - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dS​+a2⋅∫M∇υ⋅∇υ dM\displaystyle {} + a^2 \cdot \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM​−2⋅∫Mf⋅υ 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\displaystyle {} = \int_M \frac{\displaystyle \partial (\widehat{\upsilon} + \epsilon \cdot \upsilon)}{\displaystyle \partial t}​⋅(υ^+ϵ⋅υ) dM\displaystyle {} \cdot (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dM​−a2\displaystyle {} - a^2​⋅∫S(υ^+ϵ⋅υ)\displaystyle {} \cdot \int_S (\widehat{\upsilon} + \epsilon \cdot \upsilon)​⋅∇(υ^+ϵ⋅υ) dS\displaystyle {} \cdot \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dS​+a2\displaystyle {} + a^2​⋅∫M∇(υ^+ϵ⋅υ)\displaystyle {} \cdot \int_M \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon)​⋅∇(υ^+ϵ⋅υ) dM\displaystyle {} \cdot \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dM​−2⋅∫Mf⋅(υ^+ϵ⋅υ) 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​+a2⋅∫Sυ^⋅∇υ^ dS\displaystyle {} + a^2 \cdot \int_S \widehat{\upsilon} \cdot \nabla \widehat{\upsilon} \,dS​−a2⋅∫M∇υ^⋅∇υ^ dM\displaystyle {} - a^2 \cdot \int_M \nabla \widehat{\upsilon} \cdot \nabla \widehat{\upsilon} \,dM​+2⋅∫Mf⋅υ^ 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})​=ϵ\displaystyle {} = \epsilon​⋅∫M[∂υ^∂t⋅υ+∂υ∂t⋅υ^] dM\displaystyle {} \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​−ϵ\displaystyle {} - \epsilon​⋅a2\displaystyle {} \cdot a^2​⋅∫S[υ^⋅∇υ+υ⋅∇υ^] dS\displaystyle {} \cdot \int_S \left[ \widehat{\upsilon} \cdot \nabla \upsilon + \upsilon \cdot \nabla \widehat{\upsilon} \right] \,dS​+2⋅ϵ⋅a2⋅∫M∇υ^⋅∇υ 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​−a2⋅∫S[υ^⋅∇υ+υ⋅∇υ^] dS\displaystyle {} - a^2 \cdot \int_S \left[ \widehat{\upsilon} \cdot \nabla \upsilon + \upsilon \cdot \nabla \widehat{\upsilon} \right] \,dS​+2⋅a2⋅∫M∇υ^⋅∇υ dM\displaystyle {} + 2 \cdot a^2 \cdot \int_M \nabla \widehat{\upsilon} \cdot \nabla \upsilon \,dM​−2⋅∫Mf⋅υ 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​−a2⋅∫Sυ⋅∇υ dS\displaystyle {} - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dS​+a2⋅∫M∇υ⋅∇υ dM\displaystyle {} + a^2 \cdot \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM​−2⋅∫Mf⋅υ 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, полученную выше интегрированием по частям

∫M∂u∂t⋅υ dM\displaystyle \int_M \frac{\displaystyle \partial u}{\displaystyle \partial t} \cdot \upsilon \,dM​+a2⋅∫M∇u⋅∇υ dM\displaystyle {} + a^2 \cdot \int_M \nabla u \cdot \nabla \upsilon \,dM​−a2⋅∫Sυ⋅∇u dS\displaystyle {} - a^2 \cdot \int_S \upsilon \cdot \nabla u \,dS​=∫Mf⋅υ dM,\displaystyle {} = \int_M f \cdot \upsilon \,dM,
(I.4)

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

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

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

a2⋅∫M∇υ⋅∇υ dM\displaystyle a^2 \cdot \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM​−2⋅∫Mf⋅υ dM\displaystyle {} - 2 \cdot \int_M f \cdot \upsilon \,dM​−a2⋅∫Sυ⋅∇υ dS\displaystyle {} - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dS​→min⁡.\displaystyle {} \rightarrow \min.
(I.5)

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

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

∫M(un−un−1)⋅υ dM\displaystyle \int_M (u_n - u_{n-1}) \cdot \upsilon \,dM​+Δt⋅a2⋅∫M∇un⋅∇υ dM\displaystyle {} + \Delta t \cdot a^2 \cdot \int_M \nabla u_n \cdot \nabla \upsilon \,dM​−Δt⋅a2⋅∫Sυ⋅∇un dS\displaystyle {} - \Delta t \cdot a^2 \cdot \int_S \upsilon \cdot \nabla u_n \,dS​=Δt⋅∫Mf⋅υ dM.\displaystyle {} = \Delta t \cdot \int_M f \cdot \upsilon \,dM.

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

∫Mυn2 dM\displaystyle \int_M \upsilon_n^2 \,dM​+Δt⋅a2⋅∫M∇υn⋅∇υn dM\displaystyle {} + \Delta t \cdot a^2 \cdot \int_M \nabla \upsilon_n \cdot \nabla \upsilon_n \,dM​−2⋅∫M[Δt⋅f+υn−1]⋅υn dM\displaystyle {} - 2 \cdot \int_M \left[ \Delta t \cdot f + \upsilon_{n-1} \right] \cdot \upsilon_n \,dM​−Δt⋅a2⋅∫Sυn⋅∇υn dS\displaystyle {} - \Delta t \cdot a^2 \cdot \int_S \upsilon_n \cdot \nabla \upsilon_n \,dS​→min⁡.\displaystyle {} \rightarrow \min.
(I.6)

Таким образом, нестационарное уравнение сведено к последовательному решению стационарных задач: на каждом шаге по известному υn−1\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\displaystyle \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM =q→T⋅K⋅q→,\displaystyle {} = \overrightarrow{q}^T \cdot K \cdot \overrightarrow{q},∫Mυ⋅υ dM\displaystyle \int_M \upsilon \cdot \upsilon \,dM =q→T⋅D⋅q→,\displaystyle {} = \overrightarrow{q}^T \cdot D \cdot \overrightarrow{q},∫Mf⋅υ dM\displaystyle \int_M f \cdot \upsilon \,dM =F→T⋅q→\displaystyle {} = \overrightarrow{F}^T \cdot \overrightarrow{q}
(I.7)

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

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

a2K⋅q→\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+Δt⋅a2K]⋅q→n\displaystyle \left[ D + \Delta t \cdot a^2 K \right] \cdot \overrightarrow{q}_n =Δt⋅F→\displaystyle {} = \Delta t \cdot \overrightarrow{F}​+D⋅q→n−1\displaystyle {} + D \cdot \overrightarrow{q}_{n-1}​+Δt⋅a2s→.\displaystyle {} + \Delta t \cdot a^2 \overrightarrow{s}.
(I.9)