Кремень FMZ Реклама
Kremen FMHM Реклама

Топологическая оптимизация в ANSYS

dagov
Идет загрузка
Загрузка
12.12.2018
19486
33
3D-моделирование

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

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

Напомню, что в ANSYS доступны 2 вида оптимизации: параметрическая и топологическая.

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

Моделирование детали и прочностной расчет

Топологическая оптимизация в ANSYS
Для расчета нарисуем простенький рычаг от робота в SolisWorks, берем эскиз и выдавливаем. Ничего сложного. И экспортируем геометрию в ANSYS.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Для выделения определенного объема нам необходимо, так сказать, расчленить деталь на составляющие. Для этого открываем SpaceClaim и с помощью инструмента Split body разделим цилиндрические части, которые оставим под установку подшипников, и плоскую часть, которую и нужно будет оптимизировать.
Топологическая оптимизация в ANSYS
Для разделения выбираем ножовку и выделяем цилиндрические грани.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
По итогу у нас остается 4 тела.
Топологическая оптимизация в ANSYS
Для того, что бы ANSYS воспринимал их как одно целое, и строил конформную сетку без ненужных нам контактов объединим эти тела, но так, что бы геометрия состояла из 4 тел. Выделяем нашу деталь и в свойствах выбираем Share.
Топологическая оптимизация в ANSYS
Теперь можно сохранить геометрию и вернуться в Workbench.
Топологическая оптимизация в ANSYS
Перетаскиваем Static Structural и открываем его. Нам нужно задать нагрузку и применить ограничения.
Топологическая оптимизация в ANSYS
В древе видим наши 4 тела, но ANSYS их воспринимает как одно,т.к. сопряжения у нас неактивны, т.е. на пункте Connections стоит галочка, а самих сопряжений нет.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Далее строим сетку, берем настроенную по умолчанию и выбираем Proximity and Curvature и ставим Fine. Отдельно для оптимизируемого тела выбираем задание размера ячейки функцией Sizing.
Топологическая оптимизация в ANSYS
После того как сетка построена и она нас удовлетворяет задаем граничные условия, т.е. закрепления и силы. Я закрепил среднее отверстие жестко с помощью Fixed Support и приложил две силы с помощью компонентов вдоль осей к оставшимся отверстиям.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
После этого можно запускать расчет и смотреть получившийся результат. Для оценки расчета добавим Deformation и напряжения по Мизесу.
Топологическая оптимизация в ANSYS
После того, как мы провели расчет необходимо закрыть Mechanical и вернуться в Workbench. В ячейку Solution перетаскиваем Topology Optimization и открываем его.
Топологическая оптимизация в ANSYS
Тут помимо нашей геометрии и граничных условий появилось древо топологической оптимизации. Так, что же можно тут настроить? Собственно то, ради чего все и затевалось - Optimization Region. В нем мы выбираем тело, в котором хотим снизить массу, убрав лишний материал. Но это скучно, поэтому мы оставляем все выбранные тела, и укажем отдельно тела, в которых проводить оптимизацию не надо. Поэтому в Exclusion region мы выбираем тела, которые не нужно оптимизировать.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Следующий пункт - Objective. Тут мы выбираем критерий оптимизации. На выбор даются податливость, масса и объем. Собственно, установленный критерий податливости чаще всего и используется. Этот критерий означает максимизацию жесткости.
Топологическая оптимизация в ANSYS
Последний пункт это сходимость оптимизации или можно назвать граничные условия. Для упрощения решения я выбираю критерий массы и говорю, что мне хотелось бы оставить 40% от массы этой пластинки при оптимизации.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Запускаем решение и за ходом решения можно наблюдать выбрав пункт Topology Densiny Tracker. Итерации отображаются в статус-баре и по мере увеличения числа итераций будет видно результат наиболее приближенный к тому, что мы в итоге получим.
Топологическая оптимизация в ANSYS
В четвертой итерации пока все далеко от конечного результата.
Топологическая оптимизация в ANSYS
В 8 итерации все элементы уже связаны между собой.
Топологическая оптимизация в ANSYS
Плотность оптимизации измеряется в единицах псевдоплотности, которая варьируется от 0 до 1. Псевдоплотность это такая величина, которая отвечает за наличие или отсутствие материала в расчетной области. Причем то, что меньше 0,4 удаляется, от 0,4 до 0,6 то, что можно удалить, а можно и оставить и свыше 0,6 то, что нужно оставить.
Топологическая оптимизация в ANSYS
Так же, для оценки результатов есть те же инструменты, что и при решении нелинейных задач - графики сходимости по итерациям.
Топологическая оптимизация в ANSYS
Полученный результат можно немного скорректировать используя ползунок Retained treshold. Так же, можно оценить и массу получившейся детали.

Для красивых цветных картинок можно использовать старые добрые UDF-ки, это User defined result, в строку Expression впишем =TOPO и увидим разноцветную картинку раскрашенную в зависимости от псевдоплотности.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Теперь сохраняем проект и возвращаемся к проекту. Для проведения верификационного расчета нужно нажать правой кнопкой мыши по строке Result и выбрать Transfer to Design Validation System.
Топологическая оптимизация в ANSYS
Появляется копия статического расчета, но исходные данные она берет из результатов топологической оптимизации. А для проведения проверочного расчета нужно эту самую геометрию подкорректировать. Сначала жмем Update на ячейке Result, а потом на ячейке Geometry. После чего открываем SpaceClaim. Геометрия откроется в виде STL. Так же, там присутствует и исходная геометрия. Причем результат оптимизации подавлен. Его нужно 'расподавить' и скрыть исходную геометрию.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Скроем исходную геометрию, что бы она нам не мешала на данном этапе.

Ну и поскольку STL не является твердым телом, то нужно объединить эти отдельные фасетированные тела в одно. Это делается с помощью функции Merge. Это нам поможет для удобства работы с ним.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Теперь нужно проверить сетку STL геометрии на ошибки. Это можно сделать командой Check Facets. И в открывшемся окне можно увидеть ошибки, которые в нашей сетке есть.

Кроме этого эти ошибки можно исправить с помощью операции AutoFix. Большинство ошибок она исправляет, но надеяться на нее не надо. Оставшиеся ошибки мы исправим с помощью другой операции, которая нам поможет. Так называемое оборачивание или обертывание - Shrinkwrap. Она накрывает нашу геометрию слоем новой сетки с равномерным размером сетки, которую можно выбрать самостоятельно.
Топологическая оптимизация в ANSYS
Кроме того можно выбрать два разных варианта сетки. Если выбрать стрелочку с плоскостью и выбрать дополнительно геометрию, то можно выбрать другой размер сетки. Как правило, это отверстия. В свойствах выбираем размер элемента STL-геометрии и вторичный размер, который будет применен к выделенным граням.

Жмем галочку.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Результат получился странный и напрямую использовать его нельзя. Теперь для того, что бы превратить этот объект в максимально гладкий будем использовать поочередно 2 операции: Smooth/Сглаживание, которое можно применить как ко всему телу, так и к части тела; и Reduce/Уменьшение числа фасеток.
Топологическая оптимизация в ANSYS
В сглаживании можно изменить пороговое значение угла, то есть тот углол между гранями, который будет больше указанного не будет сглажен. Для максимально гладкого варианта ставим 180 градусов и локальное сглаживание.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
После нажатия кнопки с галочкой число фасеток осталось прежним, но уменьшился объем. Это происходит из-за перемещения фасеток внутрь конструкции. Полное сглаживание, в отличии от локального, никак не влияет на объем. В этом случае сглаживание происходит за счет добавления большого числа фасеток.
Топологическая оптимизация в ANSYS
Вторая операция Reduce необходима, что бы уменьшить число фасеток. В ее настройках есть процент конструкции, который хотим сделать более грубым и максимальное отклонение, которое мы готовы допустить для формы конструкции.

После данной операции получается достаточно грубая форма. После некоторого количества чередования Smooth и Reduce можно получить очень хорошую гладкость в результате оптимизации.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Ну и применять smooth, reduce и shrinkwrap можно до тех пор, пока гладкость конструкции не начнет вас удовлетворять.
Топологическая оптимизация в ANSYS
После всех этих операций видно, что оптимизация затронула те части детали, которые вроде бы оптимизировать мы не хотели. Для восстановления формы в этих местах детали в исходную форму нам и понадобится эта самая, скрытая исходная геометрия.
Топологическая оптимизация в ANSYS
С помощью функции Fill зальем поверхности отверстий, а потом с помощью Pull вытянем их в цилиндры. Эти цилиндры вычтем из детали.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Перед тем как вычесть эти цилиндры хочу рассказать как solid-тело будет конвертироваться в STL. Это произойдет в фоновом режиме при вычитании тела из STL. То есть можно преобразовать твердотельные цилиндры в STL и вычесть, а можно вычитать твердое тело без преобразований. Просто в первом случае при конвертации у нас будет возможность выбрать параметры перевода геометрии в STL, то есть длину ребра и прочее. Для конвертации нажимаем кнопочку Convert и в настройках задаем необходимые настройки, что бы сконвертировать цилиндры максимально точно в STL. И при выборе цилиндров они превращаются в STL.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Для вычитания тел воспользуемся функцией Substract.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Теперь нужно объединить цилиндры исходной геометрии и нашу деталь. Если бы я сделал это раньше, то отверстия не были бы цилиндрическими. При объединении solid-тела и STL, первые автоматически конвертируются в STL.
Топологическая оптимизация в ANSYS
Со средней частью детали придется немного повозиться, т.к. вырезы хочется оставить исходными. Поступим следующим образом: я скопирую эту область в исходной геометрии для того, что бы иметь возможность сначала ее вычесть, а потом прибавить.
Топологическая оптимизация в ANSYS
При помощи Substract вычитаем исходную геометрию из STL. У нас остаются огрызки детали. Для удаления оных жмем Separate all для разделения на отдельные тела.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
После удаления этих тел остается соединить STL с исходной геометрией.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Проверяем деталь с помощью инструмента Check facets и исправляем косяки AutoFix-ом.
Топологическая оптимизация в ANSYS
Совсем забыл объединить с цилиндрами по краям.
Топологическая оптимизация в ANSYS
В таком виде ее можно отправлять на печать металлом, но все еще нельзя на верификационный расчет. Просто потому, что для расчета необходима Solid-геометрия, а не STL. Прямая конвертация это дело долгое и неблагодарное. Для перевода в твердое тело нужно немного упростить деталь.
Топологическая оптимизация в ANSYS
Скопируем деталь и подавим одну для физики. И будем работать с копией.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Для уменьшения числа фасеток воспользуемся функцией Reduce, только отклонения сделаю гораздо меньше, чем в предыдущие разы, что бы сохранить максимум от получившейся формы.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
В таком, более грубом меше ее проще конвертировать в солид. Это можно сделать нажав правой кнопкой мыши и выбрав convert to solid и нажав do not merge facets. У нас их немного и объединять их не будем.
Топологическая оптимизация в ANSYS
Полученный солид уже можно использовать в верификационном расчете.
Топологическая оптимизация в ANSYS
Возвращаемся в проект и открываем ячейку модель. Соглашаемся на повторное чтение файла.
Топологическая оптимизация в ANSYS
В Mechanical гасим ненужные тела и восстанавливаем граничные условия и сетку.
Топологическая оптимизация в ANSYS
Для того, что не выбирать все грани отверстия можно воспользоваться функцией Extend to limits.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
После решения получаем результаты по напряжениям.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Для оптимизация конструкции под механическую обработку, без печати металлом нужно извлечь кривую сечения нашей детали. Это оптимальный вариант,т.к. воздействие на деталь происходит в одной плоскости, то будет проще извлечь кривую из сечения, упростить ее и вытянуть.

Для извлечения кривой из сечения воспользуемся инструментом Extract curves. Но для начала погасим наш солид и высветим STL.
Топологическая оптимизация в ANSYS
Создадим специальный объект плоскости на уровне XZ.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
И с помощью инструмента Extract curves извлечем кривые.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Инструментом Fit curves сделаем наши кривые более гладкими и доработаем поднутрения, которые были в модели.
Топологическая оптимизация в ANSYS
Для того, что бы сечение не превращалось в угловатое уродство, ставим галочки на преобразовании в сплайн, а то все будет в виде радиусов и прямых.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Теперь нам нужно выдавить наше сечение.
Топологическая оптимизация в ANSYS
Выдавили на ширину оптимизированной конструкции.
Топологическая оптимизация в ANSYS
Теперь добавим исходную конструкцию и объединим. Вставляем тот самый файл, в котором мы разъединяли цилиндры и пластину.
Топологическая оптимизация в ANSYS
Воспользуемся операцией Split body, что бы отрезать в оптимизированной геометрии ненужные части, в которые потом прикрепим цилиндры.
Топологическая оптимизация в ANSYS
Удалим оставшиеся кусочки.
Топологическая оптимизация в ANSYS
И объединим с цилиндрами.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Ну и в финале добавим скруглений нашей детали.
Топологическая оптимизация в ANSYS
На одной грани у меня вылезли ошибки, которые оперативно не получилось исправить, поэтому одна грань будет без скругления, но на результат это не влияет.

Отправляем эту деталь на верификацию, прикладываем нагрузки, закрепления и любуемся результатом.
Топологическая оптимизация в ANSYS

Сравнение



Типичное упрощение детали под механическую обработку выглядит примерно так.
Топологическая оптимизация в ANSYS
Расчет такой детали я не стал описывать, т.к. он полностью аналогичен тому, который я делал в начале статьи.

Вес детали составляет немногим более 4,5 кг - 4578 грамм. При нагружении возникающие напряжения не превышают 170 МПа, для обычной конструкционной стали это очень мало.
Топологическая оптимизация в ANSYS
Далее у нас есть деталь после топологической оптимизации. У нее вес уже меньше - 4280 грамм. При нагружении максимальные возникающие напряжения - 130 МПа, что меньше, чем у неоптимизированной конструкции.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
И третий вариант - конструкция, доработанная нами в SpaceClaim под механическую обработку. Она тяжелее немного легче второго варианта, и ее можно как напечатать, так и изготовить традиционными способами мехобработки. Вес составляем 3860 грамм и максимальные напряжения - 140 МПа.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Данную методику можно использовать и в случае с FDM печатью пластиком, просто зная предел прочности пластика и проведя несколько опытов по определению предела прочности печатных деталей, можно определить насколько, в процентном соотношении, печатная деталь менее прочная, относительно литой. После этого можно добавить механические характеристики в Engineering Data и проводить топологическую оптимизацию уже печатных деталей. Другой вопрос, что выигрыша в весе может быть куда меньше, чем при использовании металла для производства детали.

Вот несколько примеров удачной оптимизации.
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
Топологическая оптимизация в ANSYS
P.S. Картинки с балками в начале статьи из [M. P. Bendsoe, Topology optimization: Theory, Methods and Applications. Springer, 2003].

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

40
Комментарии к статье