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 \,dMa2MΔυυ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 \,dSMυυ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 \,dMa2Sυυ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 \,dM2Mfυ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) \,dMa2\displaystyle {} - a^2S(υ^+ϵυ)\displaystyle {} \cdot \int_S (\widehat{\upsilon} + \epsilon \cdot \upsilon)(υ^+ϵυ)dS\displaystyle {} \cdot \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dS+a2\displaystyle {} + a^2M(υ^+ϵυ)\displaystyle {} \cdot \int_M \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon)(υ^+ϵυ)dM\displaystyle {} \cdot \nabla (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dM2Mf(υ^+ϵυ)dM\displaystyle {} - 2 \cdot \int_M f \cdot (\widehat{\upsilon} + \epsilon \cdot \upsilon) \,dMMυ^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} \,dSa2Mυ^υ^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})=ϵ\displaystyle {} = \epsilonM[υ^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 {} - \epsilona2\displaystyle {} \cdot a^2S[υ^υ+υυ^]dS\displaystyle {} \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 \,dM2ϵ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] \,dMa2S[υ^υ+υυ^]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 \,dM2Mfυ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 \,dMa2Sυυ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 \,dM2MfυdM\displaystyle {} - 2 \cdot \int_M f \cdot \upsilon \,dMmin.\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 \,dMa2Sυ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 \,dM2MfυdM\displaystyle {} - 2 \cdot \int_M f \cdot \upsilon \,dMa2SυυdS\displaystyle {} - a^2 \cdot \int_S \upsilon \cdot \nabla \upsilon \,dSmin.\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 \,dM2M[Δ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 \,dSmin.\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\displaystyle \int_M \nabla \upsilon \cdot \nabla \upsilon \,dM =qTKq,\displaystyle {} = \overrightarrow{q}^T \cdot K \cdot \overrightarrow{q},MυυdM\displaystyle \int_M \upsilon \cdot \upsilon \,dM =qTDq,\displaystyle {} = \overrightarrow{q}^T \cdot D \cdot \overrightarrow{q},MfυdM\displaystyle \int_M f \cdot \upsilon \,dM =FTq\displaystyle {} = \overrightarrow{F}^T \cdot \overrightarrow{q}
(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)