Блог COMSOL

Улучшенный функционал и полезные советы по импорту файлов STL и NASTRAN®

14/09/2016

by Hanna Gothäll

Отвечая на запросы наших пользователей в процессе технической поддержки, мы заметили значительный рост использования в качестве геометрии файлов формата STL, полученных путём 3D сканирования, а также сеточные файлы NASTRAN®. Моделирование на основе таких комплексных реалистичных объектов может быть довольно сложной задачей, особенно что касается подготовки геометрии. Благодаря очередным обновлениям программного пакета COMSOL Multiphysics® работа с этими файлами стала проще и доступнее. Из этой статьи вы узнаете, как использовать данный функционал, а также как получать корректные результаты при работе с файлами форматов STL и NASTRAN®.

Форматы STL и NASTRAN®

Как уже упоминалось выше, формат STL является одним из стандартных форматов для 3D печати, а также он часто используется в качестве формата 3D сканов. Файлы STL содержат в себе только триангулированную поверхность, которую по-другому можно назвать поверхностной сеткой 3D объекта. COMSOL Multiphysics может в том числе обрабатывать несколько объектов в одном STL файле, что соответствует часто используемым нестандартным расширениям данного формата.

В своей стандартной форме текст STL файла начинается тэгом solid и заканчивается — endsolid. Многие программы поддерживают текстовые STL файлы, содержащие по несколько таких секций. Теперь в нашем пакете при импорте файла данного типа также создаётся несколько геометрических объектов, количество которых зависит от того, сколько вышеуказанных секций было определено в исходном файле.

Импотированный в COMSOL Multiphysics STL-файл позвонка.
STL-файл позвонка, импортированный в COMSOL Multiphysics. Представленная на рисунке последовательность отображает шаги, которые могут быть предприняты для упрощения сетки и, как следствие, расчета на данной геометрии: импорт поверхностной сетки, создание геометрии, учёт симметрии с соответствующим разбиением и разделением и , наконец, заключение этой геометрии в окружающий объём и построение итоговой конечно-элементной сетки. Изображение предоставлено: Марком Йоманом, Continuum Blue Ltd., Ystrad Mynach, Великобритания.

Файлы формата NASTRAN® широко используются для обмена 3D-сетками между различными пакетами для моделирования. Этот формат поддерживает и содержит сотни входных данных, включая различные сеточные элементы, нагрузки и материалы, что позволяет определить полноценную конечно-элементную модель. Программное обеспечение COMSOL Multiphysics поддерживает при его использовании импорт сеток, выборок и материалов. Если мы сравним указанные в блоге форматы с точки зрения пользователя COMSOL Multiphysics, можно заметить некоторые сходства.

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

В рамках данной статьи мы рассмотрим более нетривиальные случаи, которые требуют создания в COMSOL Multiphysics новой сетки или модификации импортированной. В качестве модификаций подразумевается, в частности, создание сплошного solid-объекта из импортированной поверхностной сетки, добавление окружающей области либо разделение и удаление частей импортированной геометрии. Все эти операции, включая создание новой сетки, требуют работы с геометрией непосредственно в COMSOL Multiphysics. Для лучшего понимания давайте посмотрим на пример создания геометрии из импортированного файла формата STL или NASTRAN®.

Создание геометрии из импортированной сетки

В последних нескольких релизах COMSOL Multiphysics создание геометрии из импортированной сетки стало удобной и интуитивной функцией. Теперь, при импорте STL файла или сетки из файла формата NASTRAN® в качестве геометрии, программное обеспечение автоматически создаёт объект Mesh Part (Сеточную заготовку), к которому можно можно обратиться, нажав на кнопку Go To Source (Перейти к источнику) рядом с меню Mesh в окне настроек узла Import.

Кнопка Go to Source в окне настроек узла Геометрия.
Кнопка Go to Source в окне настроек Геометрии перенаправит вас к созданному объекту Mesh Part.

Использование настроек по разбиению границ

В узле Mesh Part можно повлиять на то, как будет разделены границы импортированной сетки, используя настройку Boundary partitioning (Граничное разделение). Если в списке выбрать Minimal (Минимальный) тип разбиения, то будет создано минимально возможное количество границ, иногда всего одна. Настрока Minimal обычно является оптимальным выбором при импорте 3D сканов. По умолчанию выбрана настрока для Automatic (Автоматического) граничное разбиение, которое лучше подходит для случаев, когда сетка импортируется из стороннего CAD-пакета и уже содержит естественное разделение на границы. Также есть вариант вручную настроить параметры разбиения, выбрав вариант Detect faces (Определение поверхностей).

Настройки Boundary partitioning при импорте сетки.
Импортированный в COMSOL Multiphysics STL-файл с выбранной настройкой Minimal (Минимальное) для граничного разбиения .

Слева: Окно настроек Boundary partitioning. Справа: Импортированный STL-файл с выбранной настройкой Minimal для граничного разбиения. Изображение геометрии предоставлено: Марком Йоманом, Continuum Blue Ltd., Ystrad Mynach, Великобритания.

Ручная настройка (Detect faces) нужна в том случае, если сетка импортирована из 3D скана и у неё одна или несколько плоских планарных поверхностей. В этом случае предпочтительно также создавать как можно меньше поверхностей, однако при этом проследить, чтобы каждая из планарных поверхностей имела собственные границы. Для этого в поле Maximum boundary neighbor angle (Максимальный прилежащий граничный угол) следует указать 180 градусов. Таким образом, мы получим приблизительный аналог настройки Minimal, о которой шла речь выше. Для обнаружения плоских поверхностей следует поставить флажок в строке Detect planar boundaries (Обнаружение плоских поверхностей).

В том случае, если настройка Maximum boundary neighbor angle не помогает, мы также можем задать дополнительные настройки Minimum relative area и Maximum neighbor angle (Максимальный прилежащий угол). Настройка Minimum relative area ограничивает размер обнаружённых плоских поверхностей относительно общей площади поверхностной сетки. Настройка Maximum neighbor angle задаёт максимально допустимый угол между соседними граничными элементами на одной плоской поверхности.

К примеру, для обнаружения двух выделенных цветом поверхностей в примере ниже мы уменьшили Minimum relative area до 0.001 и увеличили Maximum neighbor angle до 1 градуса.

На рисунке изображены настройки Boundary partitioning
Итоговая геометрия.

Итоговые настройки Detect faces (слева) и полученная геометрия (справа). Изображение геометрии предоставлено: Марком Йоманом, Continuum Blue Ltd., Ystrad Mynach, Великобритания.

Если мы хотим получить границу в определённом месте, можно использовать различные операции по разделению (partition) из выпадающего списка узла Mesh Part. Используя операции по разделению типа Ball (Шар), Box (Параллелепипед) или Cylinder (Цилиндр) заданного размера, можно создавать границы, которые не обнаруживаются автоматически или в следствие настройки Minimal для граничного разбиения.

Сглаживание геометрии

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

Чтобы сделать создание сетки результирующей геометрии более надёжным, поставьте флажок в строке Simplify mesh (Упростить сетку). Если треугольники импортированной сетки изначально изотропны и задают относительно гладкую поверхность, можно снизить Relative simplification tolerance (Относительную погрешность упрощения) и Defect removal factor (Коэффициент удаления дефектов) таким образом, чтобы уменьшить степень упрощения. Ограничивая Relative simplification tolerance, можно уменьшить степень изменения сетки алгоритмом упрощения.

Настройка Relative simplification tolerance относится ко всей геометрии, а Defect removal factor является локальной. С помощью этих двух факторов мы ограничиваем модификацию импортированной сетки в определенных региона перед ее преобразованием в геометрию. Основываясь на своём опыте, отметим, что эти факторы в первую очередь актуальны для работы с сетками из файлов NASTRAN®, нежели STL.

Сетка для коленвала в файле формата NASTRAN®
Созданная геометрия в COMSOL при настройках по умолчанию.
Геометрия, построенная с уменьшенными Relative simplification factor и Defect removal factor.

Слева: Построенная сетка формата NASTRAN® для коленвала с довольно изотропными треугольниками и точным отображением формы. В середине: Созданная геометрия в COMSOL при настройках по умолчанию. Справа: Геометрия, построенная с уменьшенными параметрами Relative simplification factor и Defect removal factor.

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

На рисунке изображены два анизотропных треугольника среди изотропных треугольников.
Геометрия, созданная с настройками импорта по умолчанию.
Геометрия после увеличения Defect removal factor.

Слева: Два анизотропных треугольника среди изотропных треугольников. В середине: Геометрия, созданная с настройками импорта по умолчанию. Справа: Геометрия после увеличения Defect removal factor. Изображение предоставлено: Марком Йоманом, Continuum Blue Ltd., Ystrad Mynach, Великобритания.

Если поверхность отображается "странно", как показано на среднем рисунке, то обычно это связано с проблемами, возникающими при рендеринге сетки или визуализацией поверхности на экране. Это может свидетельствовать о более глубокой проблеме, которая может приводить к ограничениям, например, при разделении геометрии, её комбинировании с другими объектами или даже при построении сетки. В данном случае построение сетки проходит без каких-либо проблем и увеличение Defect removal factor приводит к лучшему результату.

Последней настройкой импорта является флажок в строке Form solids from surface objects (Формирование сплошных тел из поверхностных объектов). Данная функция создаёт сплошные объекты из поверхностных сеток с "герметично-замкнутыми" областями. Этот опция не требуется при работе с оболочками типа Shell.

Ещё одно важное замечание заключается в том, что файлы с сеткой не содержат информации о единицах измерения длины (Length unit). Как следствие, их необходимо задавать вручную в настройках узлов Mesh Part и Geometry.

На рисунке изображено окно настроек единиц измерения для узла Mesh Part.
На рисунке изображено окно настроек единиц измерения для узла Geometry.
Важно не забыть правильно указать единицы измерения в узлах Mesh Part и Geometry.

Разделение и комбинирование объектов

После того, как сетка была превращена в геометрию, можно добавить дополнительные геометрические примитивы, включая блоки и сферы. Кроме того, можно ввести поверхности, образованные пересечением при выполнении булевых операций, в которых один из геометрических объектов создаётся из сетки.

Так как поверхности геометрии интерполированы, они не совсем точны. Из-за этого мы не можем считать, что поверхность сферы, импортированной к примеру из формата STL, имеет идеальную сферическую форму. Кроме того, сложно корректно скомбинировать объекты, когда они предположительно имеют идеально согласованные грани, которыми должны касаться друг друга. В этом случае можно попробовать использовать опцию Form an assembly (Построение сборки) и автоматически или вручную определить Identity pairs (Тождественные пары), а не использовать Form Union (Построение объединения) по умолчанию.

STL-файлы, сохранённые в сторонних САПР

Для проекта геометрии, созданной в стороннем САПР, мы рекомендуем экспорт в одном из классических CAD-форматов с последующим использованием модуля CAD Import. В предыдущей статье блога мы подробно рассказывали о том, какой модуль выбрать для импорта CAD-файлов. Резюмируя: STL файлы лучше всего подходят при использовании 3D-сканирования или при экспорте деформированных геометрий или графиков непосредственно из COMSOL Multiphysics.

Заключительные соображения по созданию геометрии из сетки

По-настоящему разобраться в том, о чём мы сегодня говорили, можно только методом проб и ошибок, так что советуем вам больше практиковаться. Сегодня мы продемонстрировали некоторые наиболее полезные методы по созданию геометрии из импортированной сетки. Надеемся, что данная статья помогла вам понять основы работы с файлами форматов STL и NASTRAN® в процессе моделирования. Для получения дополнительных сведений на эту тему ознакомьтесь с ресурсами ниже:

Если у вас остались вопросы по этой заметке, либо нужна помощь с импортом сетки смело обращайтесь в нашу службу технической поддержки.

NASTRAN является зарегистрированной торговой маркой NASA.

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


Комментарии (0)

Оставить комментарий
Log In | Registration
Загрузка...
Explore COMSOL Blog 
CATEGORIES
TAGS
CATEGORIES
TAGS