четверг, 6 июня 2013 г.

Autodesk Simulation. Переделка конструкторской модели в расчетную. "Ящик"

Продолжаю публикации по мотивам доклада на САПРяжении.
В прошлый раз были даны некоторые сведения о Методе Конечных Элементов (МКЭ), с помощью которого происходит решение задачи в Autodesk Simulation (AS). Сегодня речь пойдет о практике. В качестве иллюстрации выступит вполне реальный объект и вполне реальная задача. Как уже говорилось, доклад будет идти как бы от лица человека который ранее мало сталкивался с расчетами.
Исходный проект это геометрическая модель ящика с электронным оборудованием. Сборка состоит из 704 деталей (не уникальных).

Подход 1
В ходе первой попытки вся сборка загружается в AS целиком, в том виде в котором она была сделана в CAD. Время открытия сборки в CAD системе составляет 2-3 минуты. Время открытия этой же сборки в AS заняло 83 минуты. Разница, как говорится на лицо. С этим эффектом мы еще будем сталкиваться, по сему сейчас давайте оставим его без комментариев.

Далее мы пытаемся разбить на КЭ сетку имеющуюся у нас геометрию. Естественно, раз мы еще не сильно опытные, то все делается с параметрами по умолчанию...
По результатам двух суток ожидания, было принято решение отменить разбивку и обратиться за советом.

Подход 2
В качестве совета, который звучал как "максимально упростить геометрию и сборку", было принято решение выкинуть все внутренние компоненты (платы, кабеля и пр.), при этом оставив все "железное железо". Идти на это не хотелось, ведь собственно задача состоит в том, как выдержит конструкция эксплуатацию и транспортировку в полном соответствии с нашими реалиями, которые обычно описывают девизом: "круглое переносим, квадратное перекатываем".  А как же можно выяснить что будет происходить с "внутрянкой", если ее удалить? Тем не менее скрепя сердце, оставили лишь "наиболее существенное". А именно то, что показано на картинке ниже:
В данной сборке осталось уже 232 детали. Уменьшение количества тел привело к тому, что в AS сборка открылась существенно быстрее. На открытие ушло 15 минут. 
При этом наверное стоит упомянуть о некоторых особенностях работы AS. Они неплохо описываются на примере процесса открытия, но в целом соответствуют и другим этапам.
Итак, Вы дали указание AS открыть данный файл сборки. Минуты три ничего не происходит, но работать над чем-то другим не возможно, ибо машина тормозит, как будто уголь вагонами разгружает в это время. Прошло пять минут, и Вы решаете: выпить чаю/кофе, устроить "перекур", в общем отвлечься. В тот самый момент, когда Вы встаете - Simulation оживает. Естественно Вы остаетесь в надежде, что сможете продолжить работу...
В общем, подобное предположение увы не всегда оказывается верным. Если Вы будете работать с AS плюс-минус постоянно, Вы сможете для себя набрать статистику того, какие "перекуры" можно устраивать в ожидании завершения того или иного действия.

Время открытия сократилось в 5 раз. Время на создание сетки и того больше, если учесть, что первый раз процесс был прерван где-то после 50 часов ожидания, а второй раз сетка создалась всего за 1.2 часа. Остановимся на том, как происходит создание сетки, по аналогии с описанием процесса открытия.
Итак. Вы отправили на разбивку. Проходит 20 минут, процессор вроде не используется, а машина "стоит на ручнике". Причем такое впечатление, что не просто на ручнике, а еще и на якорь поставлена. В окне висит окошко с прогрессом, но в нем все на нуле. Впечатление достаточно странное. Потом минут через двадцать оживает "прогресс бар" и начинает уверено ползти к цели. Стоит отметить, что "прогрессбаров" в окошке много - один общий, и еще на каждое тело/деталь. Где-то еще минут через 15 процесс удачно завершается, а потом еще висит около 5 минут.
Следующий абзац - для тех кому интересно, что происходит в то время, когда "ничего не происходит". Окно прогресса показывает прогресс создания поверхностной сетки. Но до того, Autodesk Simulation должен:
  1. найти все соприкасающиеся детали и разбить поверхности на подповерхности по границам соприкосновений
  2. разбить все кромки (ребра) всех поверхностей. Таким образом создается отправная точка, для дальнейшего создания поверхностной сетки.
После того как поверхностная сетка создана, AS должен еще вгрузить результат в себя и составить визуальное представление, которое потом будет крутиться на экране. Увы это тоже процесс не такой уж и быстрый.

Теперь вопрос на внимательность: как соотносятся цифры разбиения озвученные в разных абзацах?
Для тех кому лень читать или считать повторю: было заявлено, что на создание сетки ушло 1.2 часа. А потом было сказано, что на создание сетки ушло 40 минут. Тут нет никакой подмены понятий. Тут есть подвох, но увы он относится не к автору данных строк, а к настройкам AS по умолчанию.
Дело в том, что по умолчанию для объемной геометрии (solid) т.е. той с которой обычно и работает конструктор, процесс создания сетки пригодной для расчета откладывается до того момента, пока Вы не отправите задачу на расчет. До того, он создает поверхностную сетку, которая покажет Вам как будет "внешне" выглядеть Ваша будущая расчетная сетка. Собственно создание не визуального представления сетки, а полный процесс вместе с созданием расчетной сетки и занял более часа.
Добавлю, что данную настройку можно поменять, и тогда вся сетка включая расчетную будет создаваться полностью за один подход. Более детально настройки "мешера" (от англ. mesh - сетка), т.е. сеточного генератора, и их смысл будет освещен несколько позже. А пока идем далее.

Итак, компьютер за полтора часа открыл геометрию и даже побил ее на КЭ сетку, но на этом, увы, проблемы не закончились. При попытке отправить на расчет, AS выдал ошибку и считать отказался. Возможные причины такого поведения также требуют детального рассмотрения, но и некоторого опыта. По сему их тоже отложим для следующего раза. А пока что отметим, что решить задачу, увы и ах, не получилось. Снова приходится обратиться за советом, но прежде я освещу еще некоторые моменты.

Размер итоговой КЭ сетки составляет 1.2 млн. элементов. Это достаточно много, для решения подобной задачи нужна машина с 6-8 ГБ оперативной памяти, как минимум.Файл с задачей (по другому еще его называют, как КЭ база) на жестком диске занимает почти 8 ГБ. И это при учете того, что полная CAD сборка (те самые семьсот деталей) занимают около 50 МБ. Такие монструозные объемы оперативной памяти и дискового пространства нужны по причине большого количества мелких геометрических элементов в исходной модели, которые приходится бить очень мелко, а значит растет размерность задачи (более подробно про размерность можно прочитать тут, а про влияние мелких элементов - тут). Давайте посмотрим на иллюстрации:

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

Подход 3
Конструктора и технологи очень любят свои модели и плоды трудов своих, по сему с трудом соглашаются на удаление скруглений, уклонов, фасок, или каких-то деталей в сборке. Вот и тут в результате длительных терзаний из конструкции ушло еще некоторое количество запчастей...
"Ушел" нижний ящик, который выдвигается на "салазках". Ибо салазки обладают приличным люфтом, и в случае если конструкция и без ящика обладает достаточной жесткостью - без него можно обойтись. Если же жесткость будет недостаточна - тогда надо будет думать как учесть. Ушла вся обшивка нашего "ящика", ибо по сравнению со стойками, жесткости они практически не добавляют. Все остальное - осталось на своих местах. На подобную переделку ушло буквально несколько минут.
Собственно на картинке показано то, что осталось от первоначальной конструкции. Количество деталей изменилось не сильно, но не смотря на это время открытия уменьшилось в двое, а разбивки так и вовсе в четверо. Также почти в три раза изменилась размерность сетки - 417 тыс. против 1.2 млн.
А вот с расчетом увы ничего не поменялось. "Решатель"  (англ. "solver") выдает ошибку. Одна из причин - большое количество элементов с плохими показателями качества. Понятие качества КЭ разбивки - тоже требует вдумчивого рассмотрения, но чтобы иметь хоть какое-то представление скажу следующее. Элемент считается качественным если соотношение минимальной стороны к максимальной лежит в пределах 1:1 - 1:2, и в нем отсутствуют маленькие "острые" углы (менее 15-20 градусов) и соответственно "тупые" - более 160 градусов. 
Даже при наличии подобных "дефективных" элементов, решатель иногда может просчитать задачу. Но в случае если таких элементов много - достоверность всего решения может оказаться под вопросом.

Подход 4
В чем проблема предыдущей сетки? В ней очень много мелких геометрических элементов, а также в ней много крепежных изделий. В каком-то плане они нужны, ибо соединяют части конструкции между собой. В то же время с точки зрения прочностных расчетов, если конечно не стоит задача расчета именно "болтов" их можно беспрепятственно удалить "склеив" скрепленные детали между собой с помощью bonded-контакта (англ. bonded - сварка, склейка). AS по умолчанию применяет подобный тип контакта ко всем соприкасающимся деталям. При необходимости лишние контакты можно удалить вручную, или также добавить контакты там, где они должны быть, но не были созданы автоматом.

В результате удаления крепежа оказалось что из 184 деталей только 32 соответствуют несущему каркасу.
В таком варианте плохо видно разницу с предыдущим вариантом, и специально для этого и в "подходе 3" и в "подходе 4" приводятся  укрупненные виды:
Обратите внимание, что хотя все отверстия были оставлены, винтиков в них уже нет.

Подобная геометрия открывается уже практически мгновенно, разбивается на сетку - аналогично, и что немаловажно - быстро и успешно считается. Ура!
Следует добавить, что перед решением AS предупреждает о наличии некоторого количества "плохих" элементов, но их количество пренебрежимо мало.

В принципе на этом можно было бы и остановиться, однако теперь будет сделана еще одна "лишняя" с точки зрения конструктора итерация.

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

Таким образом мы еще сократили и время разбивки и время счета и размерность самой задачи. Немаловажным является и то, что теперь "ползунок" отвечающий за размер КЭ при разбивке наконец-то начнет давать результаты.

Для того чтобы убедиться, что "подход 4" и "подход 5"  выдают схожие результаты, они представлены на рисунке ниже:

"Качественные" картины деформирования рамы и распределения напряжений - достаточно близки. Сами значения в целом тоже. В чем выражается отличие будет описано несколько позже, а пока прейдем к сводной таблице.

Сводная таблица
Как видно из таблицы первые три подхода, когда задачу пытались решить "в лоб" с минимальными усилиями - увы не увенчались результатом. При этом в сумме была потрачено несколько дней. В то же время на переделку от первого варианта до работоспособного т.е. четвертого нужно было потратить в сумме около 10 минут, если идти по правильному пути, а потом еще около 10 минут на получение непосредственно решения. Т.е. задача не более чем на пол часа.

Теперь небольшой анализ 5го варианта. На то чтобы переделать конструкцию из варианта 4 в вариант 5 для подобной конструкции уйдет не менее получаса. Время зависит от количества мелких объектов, от того имеете ли Вы доступ к геометрии в исходном формате (и есть ли у Вас данная CAD система), от того как была построена геометрия, от того какими инструментами Вы при этом пользовались.

При этом полчаса "ручного" труда вряд ли кажутся эквивалентными сокращению работы AS в пару минут. И это верно, с двумя исключениями.
  • большое количество расчетов
  • ранние этапы проектирования

Если Вам необходимо сделать большое количество рассчетов, например чтобы оптимизировать конструкцию, то даже с 10го расчета Вы начнете получать выигрыш по времени. При попытке провести оптимизацию редко когда удается ограничиться парой расчето, иногде не хватает и пары сотен... При этом следует заметить, что редко когда удается ограничиться одним вариантом расчета (один тип нагружения и закрепления) нередко нужно одновременно проверять 3-4 варианта для одной и той же конструкции. Как видно в этом случае полчаса ручной работы в итоге все же дают прирост в скорости работы.

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

Васильев Антон, для adsk.tmm-sapr.org