вторник, 14 мая 2013 г.

Пару слов об упрощении модели




В режиме подготовки к докладу на САПРяжении в Киеве 21 мая 2013, решил выложить некоторые из частей будущего доклада. Тем самым обезопасив себя от таких событий, как выключение электричества, повреждение рабочих файлов и пр.

Выкладывать я буду в формате немного в отличном от того что готовлю для выступления. Все же должна быть и какая-то интрига ;) Надеюсь, что получится.
Сегодня поговорим об упрощении геометрии на основе достаточно простого объекта.

Его прелесть в том, что если Вы захотите проверить мои  высказывания - Вам не потребуется верить мне на слове (как в случае более сложных объектов которые я буду использовать в докладе), и можно будет проверить правдивость утверждений.

Итак на рисунке выше приведена достаточно простая геометрическая модель какого-то кронштейна. Модель строится буквально в несколько операций, и является хорошим примером привычного уровня детализации конструкторской модели.

При необходимости рассчитать данный объект, например на прочность, нет необходимости использовать даже Autodesk Simulation (AS), все это можно сделать и не выходя из Autodesk Inventor (AI). Но так как AI для решения все равно использует "движок" AS, и AS позволяет чуть лучше "отслеживать" вещи о которых пойдет в публикации речь  - мы будем использовать именно Autodesk Simulation.


Итак.  Заканчивая прелюдию сразу перейдем к делу, и разобьем (с настройками по умолчанию) данную геометрию на конечные элементы (КЭ), для ее дальнейшего решения. Все это делается в "два клика" и мы получаем вот такую КЭ сетку:

Специально для нашего повествования я оставил статистику сетки. Она гласит что у нас 1951 поверхностный элемент и 6712 объемных. В других программах обычно пишут количество узлов и элементов (о том что это такое. если Вам интересно мы поговорим в следующий раз, а пока загляните сюда). Autodesk Simulation также работает на принципах МКЭ но в попытке то ли ускорить работу пользователя, то ли еще из каких-то соображений AS пошел немного другим путем. Тут я немного слукавил, говоря что все билось с настройками по умолчанию, ибо по умолчанию объемную сетку AS создает только при отправке на решение. До этого показывая пользователю как будет выглядеть его сетка чисто с внешней точки зрения разбив только внешние поверхности (та самая первая цифра - 1951). А так как количество узлов и элементов обычно является цифрами сходных порядков (при условии использования линейных элементов), и редко кто пишет (в отчетах) точную цифру, указывая округленное значение (например "6.7 тыс. эл-тов" или вовсе 6 или 7 тысяч) то авторы программы данную цифру просто опустили.

Семь тысяч элементов для линейной статической задачи для современного компьютера почти то же самое что и перемножить "вручную" 10 цифр на калькуляторе. Это секунды счета. Но если у нас не одна такая деталь, то могут выйти и минуты и часы. По этому одним из вариантов является упрощение задачи. То что расчетчики называют "уменьшение размерности".
Для начала воспользуемся чисто встроенным инструментом - а именно "ползунком" отвечающим за качество сетки. Ползунок меняется от значения "Грубо" до значения "Точно", по умолчанию находясь по середине (т.е. "обычно"). Эти параметры определяются в основном из габаритов детали, и позволяют пользователю добиться быстрого результата не особо задумываясь о "последствиях".

Итак, мы выкрутили со среднего положения (обычно) в крайне левое положение (грубо). Как итог, картинка ниже:
Количество объемных элементов сократилось почти в полтора раза, а именно - 3920. Неплохо для простого ползунка. Но на самом деле слабовато, ведь программа увеличила размер элемента в два раза, а значит и количество элементов должно тоже уменьшиться 2-8 раз (данный феномен я объясню чуть позже), но не в 1.5. МАЛОВАТО.


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

Нормой хорошего тона, является удаление из модели все "несущественных" "мелких" конструктивных элементов и прочие упрощения конструкции.
Если модель у Вас наличествует в родном формате (в данном случае Inventor) то это можно сделать в нем (работу встроенного инструмента по упрощению модели, я разберу позже). Если нет - Вам на выручку придет Inventor Fusion - среда прямого моделирования, которая идет в поставке как с Inventor, так и с Simulation. Кстати нередко оказывается, что разбираться в родной модели дольше, чем "тупо" удалить их во Fusion. Выглядит эт приблизительно следующим образом:
Выбираете мешающие Вам элементы, и нажимаете кнопку "delete". Остальное за Вас сделает "Магия" ;) Даже для очень сложных объектов, подобная работа вполне возможна, и не слишком долгая, хотя и надоедливая.
Показывать вариант геометрии без мелких объектов я не буду, а сразу покажу КЭ сетку такого объекта:
Обратите внимание, что размерность сетки упала более чем в 6 раз, при тех же насройках что и в первый раз. У нас 1089 элементов против 6712. Это в 4 раза меньше, чем с более грубой сеткой на боле "сложной" модели. Причем заметьте, что для этого нам понадобилось, конечно, чуть больше, чем просто перетянуть ползунок с качеством сетки, но не на много. Разница по сетке в 6 раз, значит что задача будет требовать в 36 раз меньше памяти и времени на счет. Данный термин пока просто примите на веру, позже я его поясню.
Да, пока у нас длится расчет секунды - это не существенно. Но! Если у Вас расчет на базе конструкторской (читай не упрощенной) геометрии длится хотя бы пару часов, это значит, что буквально за 15 минут Вы можете довести время счета до минут. Для этого придется кое что сделать. Но ведь время часто стоит больше ;)

А что произойдет с нашей конструкцией, если мы выкрутим и тут ползунок сетки в состояние "самая грубая сетка"? Давайте попробуем. И получим:
обратите внимание что количество КЭ снизилось до 546 т.е. почти в два раза меньше, чем с обычной сеткой. Увы, сама конструкция, и некоторые "глюки" сеточного генератора не дали нам показать более высокие результаты. Но в общую тенденцию мы уложились  лучше ;)

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

P.S.
Если Вы заинтересованы в изучении Autodesk Simulation посмотрите ресурс Engineering Exploration описание которого Вы найдете тут

Если Вас интересуют другие заметки связанные с общими вопросами инженерных расчетов в Autodesk Simulation посмотрите:
Если Вас больше интересует газодинамика - загляните на блог, который ведет Тулубенский Евгений. Следует заметить, что тематика его сообщений шире, просто вопросов по ГГД и затрагивает область турбиностроения.
Вопросы использования AS в машиностроении затронуты в блоге Юрия Елтышева Inventor + Algor  

Если Вы обладаете достаточным опытом в расчетных делах, но хотите научиться представлять их более "выгодно", возможно Вам подойдет заметка Объединение Autodesk Simulation вместе с Showcase Rendering