Запишем ещё раз функционал для уравнения Эйлера (5.4)
Линейный оператор для уравнения параболического типа, интересующего нас, имеет вид
Скалярное произведение имеет вид
Скалярное произведение имеет вид
Известна формула Остроградского для оператора Лапласа
(I.1)
где — граница подмногообразия , а — её векторный элемент, направленный по внешней нормали. Проинтегрируем по частям второй интеграл
(I.2)
Таким образом, исходный функционал можно записать в виде
Дадим приращение , где — точное решение, а — некоторое малое число. Полное приращение функционала можно записать в виде
Пренебрегая членами второго порядка малости, пропорциональными , получим
Если вынести за скобки и принять во внимание, что может быть отрицательным, а вот приращение функционала всегда положительно, так как — точное решение, то получим в качестве обязательного условия
Учитывая, что , и сокращая общий множитель, мы возвращаемся к исходному уравнению. Это означает, что численное решение краевой задачи сводится к минимизации функционала
(I.3)
Множитель при линейном члене сохраняем сознательно: именно он обеспечивает, что условие минимума возвращает исходное уравнение, а не уравнение с лишним множителем (при дифференцировании квадратичные члены дают множитель , и линейный член должен иметь такой же).
Перейдём к разделению на стационарную и нестационарную задачи. Принципиально важно проводить это разделение и последующую дискретизацию по времени на уровне уравнения, а не функционала: производная по времени не является самосопряжённым оператором, поэтому прямая подстановка в функционал привела бы к неверным коэффициентам. Запишем слабую форму уравнения , полученную выше интегрированием по частям
(I.4)
которая должна выполняться для произвольной пробной функции .
Стационарное уравнение с граничными условиями Дирихле и/или Неймана
Если , временной член исчезает, и в силу симметрии пространственного оператора слабая форма (I.4) эквивалентна минимизации функционала
(I.5)
Нестационарное уравнение с граничными условиями Дирихле и/или Неймана
Производную по времени дискретизируем неявной схемой Эйлера с шагом , применяя её к слабой форме уравнения: , где — решение на текущем временном слое, а — на предыдущем. Подставив это в (I.4) и домножив на , получаем уравнение для шага по времени
Это уравнение, в свою очередь, является условием минимума функционала
(I.6)
Таким образом, нестационарное уравнение сведено к последовательному решению стационарных задач: на каждом шаге по известному находится .
Матричная форма
Дискретизируем пробную функцию по узлам сетки: , где — базисные функции, а — вектор узловых значений. Подстановка превращает каждый интеграл функционала в квадратичную или линейную форму по , а их коэффициенты собираются в матрицы:
(I.7)
где — матрица жёсткости (интеграл от произведения градиентов), — матрица демпфирования (интеграл от произведения пробных функций), — вектор нагрузки (интеграл от источника); матрицы и симметричны. Граничный интеграл в матрицу не сворачивается: это поверхностный член, который в дискретной форме входит только в уравнения граничных узлов (у внутреннего узла пробная функция на границе равна нулю) и определяется самим граничным условием.
Дискретную систему получаем по методу Бубнова–Галёркина: подставляем в слабую форму (I.4) и поочерёдно берём пробные функции . Для стационарного уравнения это даёт систему
(I.8)
где — вектор узловых граничных потоков. Сам поток здесь ничем не задаётся — что с ним делать, определяет тип граничного условия. Учёт граничных условий — задача непростая, и подробно она разобрана в отдельных приложениях: «Учёт граничных условий Дирихле» и «Учёт граничных условий Неймана».
Для нестационарного уравнения (неявная схема Эйлера, см. (I.6)) система на шаге по времени принимает вид