Разработка новых конструкторских решений с использованием оптимизации формы

Walter Frei 29/12/2015
Share this on Facebook Share this on Twitter Share this on LinkedIn

Вы никогда не были уверены в том, как достичь наилучшей формы конструкции при разработке? Если это так, то вы можете ознакомиться с функционалом под названием Оптимизация формы и добавить его в набор ваших навыков моделирования в COMSOL Multiphysics. Сегодня мы рассмотрим основные принципы оптимизации формы и продемонстрируем её применение на классической задаче.

Краткая информация об оптимизации формы

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

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

Как мы ранее обсуждали в блоге, также можно аналитически вычислить чувствительность модели по отношению к изменениям геометрии, используя интерфейс Deformed Geometry (Деформированная геометрия). Кроме того, решатели на основе градиентного метода могут использовать чувствительность модели для оптимизации размеров элемента без перестроения конечно-элементной сетки, как мы уже отмечали в примере с расчётом конденсатора. Рекомендуем ознакомиться с двумя статьями блога, на которые мы ссылаемся выше, для понимания функционала, который мы будем использовать в этой статье.

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

Задача оптимизации формы: Толщина балки

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

Диаграмма неоднородно приложенной нагрузки к консольной балке.
Консольная балка с неравномерно распределенной нагрузкой. Точка А не должна отклоняться более чем на заданную величину. На рисунке также показана конечно-элементная сетка.

Для начала, давайте выберем конструктивные параметры. Длина балки и толщина заркепленного конца фиксированы. Мы можем изменять толщину балки по длине. Несколько проще задать изменение толщины от начальной конфигурации. Но вместо этого введем функцию DT(X), которая изначально равна нулю по всей длине балки.

Схема задачи оптимизации толщины.
В задаче оптимизации рассматривается изменение толщины балки.

Затем, давайте представим изменение толщины через множество полиномов Бернштейна четвертого порядка:

DT(\bar X)=T_0\left[C_0 (1-\bar X)^4 + C_1 \bar X (1-\bar X)^3 + C_2 \bar X^2 (1-\bar X)^2 +C_3 \bar X^3 (1-\bar X)^1 +C_4 \bar X^4\right]

выраженных через приведенные параметры: \bar X = X/L_0. Важно отметить, что функция масштабируется так, что полиномиальные коэффициенты имеют значение порядка единицы. Опять же, мы делаем это для масштабирования.

Так как толщина балки при X=0 точно определена, DT(\bar X)=0, зафиксируем C_0=0 так, чтобы этим членом можно было пренебречь. Для свободного конца мы добавим ограничение, чтобы балка не была слишком тонкой: C_4<0.9.

В области между концами балки мы также добавим некоторые условия, чтобы ограничить дальнейший объем расчета. Можно добавить следующее ограничение: 0 < DT(\bar X) < 0.9T0. Однако, это ограничение имеет недостаток: Оно позволило бы толщине балке колебаться, но, исходя из начальных условий, мы знаем, что это не допустимо. Нет никакой пользы в том, что толщина балки будет увеличиваться по всей длине. Вместо этого мы можем добавить ограничение на производную: DT^\prime(\bar X) > 0. Это ограничение заставит толщину балки монотонно меняться по длине и его дополнительное преимущество в том, что оно обязательно удовлетворяет условию: 0 < DT(\bar X) < 0.9T0.

Существует еще одно ограничение, которое необходимо рассмотреть — это амплитуда перемещения точки на правом краю балки. Необходимо, чтобы амплитуда колебаний точки A была меньше, чем заданная величина u_{max}. Зная все эти условия и ограничения, мы можем записать задачу оптимизации, как:

\begin{aligned}& \underset{C_1 \cdots C_4}{\text{minimize:}}& Mass/M_0 \\& \text{subject to:}& C_4 < 0.9 \\& & |\mathbf{u}_A/u_{max}| < 1\end{aligned}

Здесь целевая функция приведена к начальной массе балки, M_0, и это сделано для масштабирования целевой функции таким образом, чтобы она была порядка единицы. Аналогично, амплитуда перемещения конца балки, |\mathbf{u}_A|, приведена к максимально допустимому смещению, u_{max}. Приведенное перемещение должно быть меньше единицы. Давайте теперь посмотрим, как подобная задача решается в COMSOL Multiphysics с использованием модуля Оптимизация.

Реализация поставленной задачи в COMSOL Multiphysics

Мы можем начать с нашей изначальной конструкции, простой балки с фиксированной длиной и равномерной толщиной. Балка неподвижно закреплена с левого конца, на нее действует неравномерная нагрузка по верхней поверхности, которая изменяется как \bar X^4(1-\bar X ). Для начала зададим функцию изменения толщины. Полиномиальная функция, описанная ранее, задается переменной DT, как показано на скриншоте ниже. Выражение Xg относится к исходной, недеформированной геометрии в направлении оси x. Переменная dDTdX является производной этой функции, приведенной к направлению по оси x. Два глобальных параметра, L0 and T0, определяют длину и максимальную толщину.

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

Изменение толщины используется в интерфейсе Deformed Geometry (Деформированная геометрия) для того, чтобы определить, как изменяется весь объем балки с изменением толщины. Поскольку изменяется только толщина, можно использовать линейное преобразование, как показано ниже.

Скриншот, показывающий описание деформаций балки в COMSOL Multiphysics с помощью интерфейса Деформированная геометрия.
Изменение формы балки полностью описаны.

Теперь мы можем настроить физический интерфейс Optimization. Он позволяет легко настраивать и более сложные задачи оптимизации с рядом ограничений. Соответствующие настройки показаны на скриншотах ниже, начиная с задания целевой функции. Узел Интегральная целевая функция (Integral Objective) интегрирует плотность материала по всей области и нормирует данную величину на начальную массу.

Настройки целевой функции для оптимизации.
Задачей оптимизации является минимизация массы.

Ниже приведены настройки узла Глобальные управляющие переменные (Global Control Variables). Четырем переменным, а именно: C1, C2, C3, и C4, задается нулевое начальное значение, что эквивалентно начальным размерам балки. Переменной C4 задается верхний предел значения, а масштабирование остальных переменных остается равным единице.

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

Далее мы применим узел Pointwise Inequality Constraint (Ограничение в виде последовательного поточечного неравенства) к нижней границе нашей балки. Этот узел обеспечивает положительные значения производной функции смещения в каждой точке, тем самым гарантирует монотонное возрастание функции.

Скриншот, показывающий настройку узла Pointwise Inequality Constraint (Ограничение в виде последовательного поточечного неравенства) для задачи оптимизации формы.
Ограничение производной по длине балки задается в узле Pointwise Inequality Constraint.

Наконец, максимальное смещение точки А на конце балки ограничено заданной величиной. Это значение задается в узле Point Sum Inequality Constraint (Ограничение в виде неравенства в точке).

Рисунок, показывающий задание ограничения на приведенное максимальное отклонение точки в COMSOL Multiphysics.
Задание ограничения на приведенное максимальное отклонение точки.

Наша задача оптимизации почти настроена. Единственный оставшийся шаг — добавить исследование Optimization (Оптимизация) во вкладку Study и выбрать решатель SNOPT, основанный на градиентном методе, который позволит максимально быстро решить данную задачу. Все остальные настройки можно оставить по умолчанию. Целевая функция и граничные условия автоматически подгружаются из интерфейса Оптимизация.

Скриншот настроек решателей оптимизационного исследования.
Соответствующие настройки решателя.

Результаты показаны на картинке ниже. Определена оптимальная форма для данной геометрии. Толщина с левого края максимальна и она монотонно изменяется по всей длине балки. Т.к. именно такая деформация и ожидалась, была использована структурная сетка типа Mapped.

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

Краткое резюме по использованию оптимизации формы для разработки новых конструкций

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

Мы можем избежать таких проблем, путем разделения исходного интервала на несколько подинтервалов, применив различные функции низшего порядка к каждому интервалу (кусочно-полиномиальному). Могут применяться и другие базисные функции, выходящие за рамки уравнения Бернштейна, такие как полиномы Чебышева и ряды Фурье. Учебная модель Оптимизация геометрии акустического излучателя, доступная в нашей галерее приложений, демонстрирует пример вышесказанного.

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

Если у вас есть какие-либо вопросы по поводу использования данного метода оптимизации формы, либо вы заинтересованы в добавлении модуля Оптимизация в свой набор инструментов для моделирования, свяжитесь с нами.


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

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


Теги

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