Введение в моделирование мыльных пленок и прочие вариационные задачи

Temesgen Kindo 04/09/2018
Share this on Facebook Share this on Twitter Share this on LinkedIn

Что общего между мыльными пленками, подвесными проводами и световыми лучами? Их равновесное состояние определяется минимумом некоторой величины. Такие задачи часто встречаются в разных областях науки и техники: в биологии, экономике, теории упругости, материаловедении и в обработке изображений. Моделировать такие задачи можно с помощью встроенных интерфейсов программного пакета COMSOL Multiphysics®, но в этой статье мы расскажем, как решать вариационные задачи с помощью моделирования на основе уравнений.

Минимизация по функциям

Математический анализ рассказывает, как находить экстремальные значения функций одной или многих переменных. Мы ищем число или набор чисел \mathbf{x}, которые минимизируют или максимизируют значение функции f(\mathbf{x}). В вариационном исчислении мы ищем функцию u(x), которая минимизирует или максимизирует значение функционала E[u(x)]. Мы можем рассматривать эту задачу как оптимизацию в бесконечном числе измерений. Грубо говоря, функционал ставит в соответствие каждой функции число. Например, определенный интеграл — это пример функционала.

В технических задачах функционалы обычно описывают какой-либо вид энергии. Например, в теории упругости можно искать равновесные решения, минимизируя полную потенциальную энергию. Эта терминология часто переносится на другие задачи вариационного исчисления, например, связанные с обработкой изображений. Функционал мы будем называть «энергией», даже если с точки зрения физики он не соответствует никакой физической величине.

Геометрия модели мыльной пленки, натянутой между двумя кольцами.
Мыльная пленка на кольцах.

Представьте себе мыльную пленку, растянутую между двумя кольцами, лежащими в плоскости yz. Центры колец лежат на оси x. Мы хотим найти функцию u(x), график которой при вращении вокруг оси x будет описывать форму мыльной пленки. Эта функция минимизирует следующий функционал:

(1)

E[u(x)] = \int_a^b u(x)\sqrt{{1+u^{\prime}(x)^2}}dx.

В более общей формулировке задачи вариационного исчисления мы ищем функцию u(x), которая минимизирует функционал

(2)

E[u(x)] = \int_a^b F(x,u,u^{\prime},u^{\prime\prime},\ldots)dx.

В большинстве технических задач функционалы не содержат производных выше первого порядка. В первой статье серии мы сосредоточимся именно на таких задачах в одном измерении. В следующих статьях мы обобщим подход на задачи в нескольких измерениях, задачи с производными высшего порядка и множеством неизвестных. Наконец, максимизировать функционал — это то же самое, что минимизировать отрицательный функционал, так что мы будем дальше говорить только о задаче минимизации. Если не оговорено иное, мы работаем с функционалом вида

(3)

E[u(x)] = \int_a^b F(x,u,u^{\prime})dx.

Решение вариационной задачи

Представьте себе, что вам завязали глаза и отвезли вас в долину. Как узнать, когда вы окажетесь в нижней точке долины? (И нет, вам нельзя снимать с глаз повязку.) Вы можете ощупать руками и ногами рельеф вокруг: если повсюду вокруг вас рельеф окажется выше той точки, на которой вы стоите, то вы в нижней точке долины или, по крайней мере, в нижней точке небольшой ложбины. Таким же образом проверяются точки минимума в математическом анализе и вариационном исчислении. В математическом анализе вам нужно проверить точки в окрестности точки минимума, а в вариационном исчислении — функции в окрестности предлагаемой функции. Функция u(x) минимизирует функционал E[u(x)] тогда и только тогда, когда для каждой допустимой вариации функции \hat{u}(x) для произвольно малого \epsilon выполняется

(4)

E[u(x)+\epsilon \hat{u}(x)] \ge E[u(x)]

Не любая вариация \hat{u} будет допустимой: для этого каждая функция u+\epsilon\hat{u} должна удовлетворять граничным условиям. Например, мыльная пленка закреплена на проволочных кольцах, так что каждая функция, с которой мы сравниваем минимизирующую функцию, должна соответствовать этому условию. Таким образом, мы рассматриваем только те вариации, для которых \hat{u}(a) = \hat{u}(b) = 0. В следующих статьях мы подробнее рассмотрим граничные условия.

Необходимое условие для уравнения 4, предполагая, что все функции достаточно гладкие, — это

(5)

\frac{d}{d\epsilon}\bigg|_{\epsilon=0}E[u+\epsilon \hat u] = 0,

В этой серии статей мы не рассматриваем задачи с подвижными или открытыми границами. В этом случае можно перенести производную под интеграл и применить формулу сложной производной, получив

(6)

\frac{d}{d\epsilon}\bigg|_{\epsilon=0}E[u+\epsilon \hat u] = \int_a^b [\frac{\partial F}{\partial u}\hat{u} + \frac{\partial F}{\partial u'}\hat{u^{\prime}}]dx=0.

Обратите внимание, что мы варьируем только зависимую переменную u и ее производные, но не пространственную координату x. Если вас интересуют задачи с подвижными границами, изучите статьи о методах функции уровней и фазового поля для решения задач о свободных поверхностях и о моделировании свободных поверхностей с помощью подвижной сетки.

Как показывает уравнение
1 для мыльных пленок, под знаком интеграла стоит функция F(x,u,u^{\prime}) = u\sqrt{1+u^{\prime}^2} \Rightarrow \frac{\partial F}{\partial u} = \sqrt{1+u^{\prime}^2}, \frac{\partial F}{\partial u^{\prime}} = \frac{uu^{\prime}}{\sqrt{1+u'^2}}. Следовательно, для решения вариационной задачи о мыльной пленке надо найти такую функцию u(x), что

(7)

\int_a^b [\sqrt{1+u'^2}\hat{u} + \frac{uu'}{\sqrt{1+u'^2}}\hat{u'}]dx=0, \forall \hat{u}.

Уравнение Лагранжа—Эйлера

Классический прием вариационного исчисления — проинтегрировать функцию по частям, чтобы перенести производную по пространственной координате с вариации \hat{u} на решение u, получив уравнение Лагранжа—Эйлера

(8)

\frac{\partial F}{\partial u}-\frac{d}{dx}(\frac{\partial F}{\partial u^{\prime}})=0,

и использовать методы решения обыкновенных дифференциальных уравнений, чтобы его решить. В нескольких измерениях уравнение Лагранжа—Эйлера становится дифференциальным уравнением в частных производных.

Но мы не собираемся использовать уравнение Лагранжа—Эйлера, поэтому не будем об этом говорить. Метод конечных элементов работает с вариационной формулировкой задачи. Например, если вы используете интерфейсы Coefficient Form PDE (Дифференциальное уравнение в частных производных в коэффициентной форме) или General Form PDE (Дифференциальное уравнение в частных производных в общем виде) в программном пакете COMSOL Multiphysics, чтобы задать уравнение Лагранжа — Эйлера, программный пакет формулирует и решает соответствующую вариационную задачу. Так зачем тратить лишние усилия? Как мы увидим позже, вариационная постановка задачи также позволяет хорошо представлять сложные вычислительные области и граничные условия.

Настройка вариационной задачи в COMSOL Multiphysics®

Чтобы задать вариационную задачу в COMSOL Multiphysics, мы используем интерфейс Weak Form PDE (Дифференциальное уравнение в частных производных в слабой форме). Как отличить решение u и соответствующую пробную функцию \hat{u}? Для второй функции мы можем использовать оператор test. Например, в задаче о мыльной пленке подынтегральная функция в вариационной постановке выглядит в узле Weak Form PDE (Дифференциальное уравнение в частных производных в слабой форме) как sqrt(1+ux^2)*test(u) + u*ux/sqrt(1+ux^2)*test(ux), как показано ниже.

Снимок экрана с настройками интерфейса Weak Form PDE (Дифференциальное уравнение в частных производных в слабой форме) в COMSOL Multiphysics.
Настройка вариационной задачи.

Мы используем простое граничное условие: мыльная пленка закреплена на проволочных кольцах слева и справа. Радиусы левого и правого колец равны 1 и 0,9 соответственно, что дает нам значения основной переменной u на обеих концах отрезка. Узел Dirichlet Boundary Condition (Граничное условие Дирихле) задает такие граничные условия. Для удобства численных расчетов в этой задаче мы задаем начальное значение, равное 1, а не 0, в узле Initial Values 1 (Начальные значения 1).

Снимок экрана с настройками узла Dirichlet Boundary Condition (Граничное условие Дирихле) в COMSOL Multiphysics.
В узле Dirichlet Boundary Condition (Граничное условие Дирихле) задаются известные граничные значения.

Рассчитав решение, мы получим форму, показанную ниже.

График, показывающий профиль мыльной пленки, натянутой между двумя кольцами.
Профиль мыльной пленки, натянутой между двумя вертикальными проволочными кольцами.

Задание простой символьной задачи

В примере выше мы рассчитали частные производные функции F по переменным u и u^{\prime} сами. Мы можем не тратить лишних усилий и избежать случайных ошибок, если используем символьные вычисления в COMSOL Multiphysics.

Снимок настроек узла Variables (Переменные) в COMSOL Multiphysics.
Снимок экрана с настройками интерфейса Weak Form PDE (Дифференциальное уравнение в частных производных в слабой форме) при использовании символьного дифференцирования.

Символьное дифференцирование позволяет не делать расчеты самим.

Вариационная постановка или прямая оптимизация

Мы можем решить задачу минимизации функции прямой оптимизацией. С этим подходом нам не понадобится формулировать вариационную постановку задачи. С другой стороны, для этого потребуется больше вычислительных инструментов. Например, для прямой оптимизации в COMSOL Multiphysics понадобится модуль расширения Optimization (Оптимизация). Если вам интересна прямая оптимизация, изучите статью о решении задачи о кривой скорейшего спуска с помощью модуля Optimization (Оптимизация).

В следующих статьях

В сегодняшней статье мы показали, как решать вариационные задачи с простыми граничными условиями в интерфейсе Weak Form PDE (Дифференциальное уравнение в частных производных в слабой форме). Этот интерфейс доступен во всех вариантах установки COMSOL Multiphysics. В этой статье подробно рассказано о слабых формах.

В следующих статьях мы расскажем, как добавить к модели более сложные условия: точечные, распределенные и интегральные. В завершение этой серии статей мы рассмотрим обобщение на несколько пространственных измерений, производные высшего порядка и несколько неизвестных функций. Следите за публикациями!

Вы можете связаться с нами, чтобы узнать подробности о моделировании на основе уравнений в COMSOL Multiphysics. Щелкните кнопку ниже.

Изучите другие статьи в серии статей о вариационных задачах и граничных условиях


Загрузка комментариев...

Темы публикаций


Теги

3D печать Cерия "Гибридное моделирование" Введение в среду разработки приложений Видео Волновые электромагнитные процессы Глазами пользователя Графен Интернет вещей Кластеры Моделирование высокочастотных электромагнитных явлений на различных пространственных масштабах Модуль AC/DC Модуль MEMS Модуль Акустика Модуль Волновая оптика Модуль Вычислительная гидродинамика Модуль Геометрическая оптика Модуль Динамика многих тел Модуль Композитные материалы Модуль Коррозия Модуль Механика конструкций Модуль Миксер Модуль Нелинейные конструкционные материалы Модуль Оптимизация Модуль Плазма Модуль Полупроводники Модуль Радиочастоты Модуль Роторная динамика Модуль Теплопередача Модуль Течение в трубопроводах Модуль Химические реакции Модуль Электрохимия Модуль аккумуляторов и топливных элементов Охлаждение испарением Пищевые технологии Рубрика Решатели Серия "Геотермальная энергия" Серия "Конструкционные материалы" Серия "Электрические машины" Серия “Моделирование зубчатых передач” Сертифицированные консультанты Технический контент Указания по применению физика спорта