Михаил Плыкин, обозреватель журнала «ANSYS Solutions. Русская редакция»

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

В ICEM CFD доступны любые типы элементов: гексаэдры, тетраэдры, при­змы и пирамиды. Реализован экспорт сет­ки в большинство известных решателей.

Для начала рассмотрим структуру рабочей директории проекта ICEM.

Вся информация о проекте хранится в нескольких файлах: файл с расширением *.tin содержит исходную геометрию модели, файл *.uns — неструктурированную сетку, файл *.blk — блочную структуру (если она имеется), файл *.prj — общие настройки проекта.

В структуре имеются также файлы с рас­ширениями *.fbc, *.par, *.rpl, *.jrf. Их содержание будет рассмотрено в тех местах, где они исполь­зуются. Рекомендуется для каждого нового про­екта создавать отдельную директорию.

Все элементы управления в интерфейсе сгруппированы по областям применения: гео­метрия, сетка, блочная структура, редактирова­ние сетки, постпроцессинг, экспорт.

Также некоторые дополнительные меню до­ступны при загрузке в режиме AI*Environment.

Сменить режим интерфейса можно коман­дой Setting-Product.

Порядок создания сетки на основе геометрической (CAD) модели

1. При наличии интерфейса к CAD-систе- ме вы можете напрямую импортировать геомет­рическую модель в ICEM CFD. Например, если у вас установлен Unigraphics, то в его основ­ном меню появляется дополнительный раздел ICEMCFD. Для создания файла *.tin достаточно применить команду: ICEMCFD^Write Tetin File. Далее созданный файл можно прочесть, исполь­зуя в ICEM CFD команду: File^Geometry^Open Geometry.

В общем случае импорт геометрических моделей возможен посредством файлов наибо­лее распространенных форматов: IGES, DWG, Acis и других. Для более точной передачи гео­метрии рекомендуется применять модели, со­зданные на основе ядра Parasolid.

Отметим, что в качестве геометрии может быть использована поверхностная сетка в таких форматах, как Nastran, Patran.

2. После импорта геометрии необходимо проанализировать ее состав и целостность. Гео­метрия в ICEM представляется в виде набора точек, линий и поверхностей. Понятие твердого тела (solid) не используется. По умолчанию пос­ле импорта геометрии образуется набор поверх­ностей. Дополнительно для корректного постро­ения сетки необходимы также линии и точки в проблемных местах.

Для генерации сетки ICEM CFD исполь­зует метод Octree, который работает с тремя типами геометрических объектов: точкой, ли­нией и поверхностью. В каждую точку поме­щается узел элемента, на линии создается как минимум два узла (на концах), на поверхнос­ти — три. Такой подход позволяет ICEM гене­рировать сетку при серьезных дефектах ис­ходной геометрии (нестыковки поверхностей, «дырки» и пр.).

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

Если мы выделим все существующие ли­нии и точки на его гранях и зададим на них со­ответствующие размеры элементов, то получим сетку, показанную ниже.Если же просто указать на всех поверхнос­тях один общий размер элемента (Global size), то данный геометрический объект «сольется» с основной поверхностью, то есть произойдет defeaturing.Для автоматического извлечения кривых и точек из поверхностей, необходимо выбрать ко­манду: Geometry^Repair^Geometry^Build to­pology. На основе углового допуска Feature angle и общей точности Tolerance, ICEM определяет гра­ни в геометрии и выделяет кривые и точки.

3. Следующий шаг — присвоение поверх­ностям однозначных имен для задания гранич­ных условий. Для указания имени необходимо выбрать из дерева модели следующую команду: Models^Parts^Create Part.

Затем мышью выделяем нужный нам гео­метрический объект (это может быть линия либо поверхность).

4. Далее необходимо указать положение так называемой материальной точки Material Point. Она служит для определения области, в которой будет создана объемная сетка.

Если модель состоит из нескольких компо­нентов, то в каждом из них должна быть создана Material Point.

5. При создании свободной сетки по умол­чанию используется размер, установленный командой Mesh^Set Global Mesh Size.

Здесь Max element — максимальный раз­мер элемента, Scale factor — масштабный коэф­фициент (его удобно использовать при общем масштабировании размеров элементов). Опция Display служит для отображения выбранного размера элемента на экране.

6. Собственно построение расчетной сет­ки: Mesh^Mesh Tet.

Прежде всего, следует выбрать метод со­здания сетки:

  • FromGeometry— на основе геометрии;
  • FromGeometryandSurfaceMesh— на основе геометрии и частично поверхностной сетки;
  • FromSurfaceMesh— на основе поверхност­ной сетки.

Закладка Smooth mesh позволяет после за­вершения процесса генерации сетки произвести ее сглаживание по критерию Quality.

Запуск генерации сетки производится на­жатием кнопки Apply. Во время создания сетки на экране появляется дополнительное окно, в котором отображаются выполняемая програм­мой в данный момент операция, а также коли­чество элементов модели.

7. Заключительный этап создания сет­ки — оптимизация расчетной модели по раз­личным критериям. Команда оптимизации вызывается из экранного меню следующим способом:

Edit Mesh^Smooth Elements Globally.

После этого выбираем нужный критерий, напри­мер Aspect, Volume или Min angle, указываем ко­личество итераций и значение критерия (Up to quality).

Далее на экране в правом нижнем углу по­является панель с диаграммой результатов про­цесса оптимизации.

Левой кнопкой мыши выбираем нужный столбец, а правой подтверждаем визуализацию. В результате модель имеет такой вид.

8. На этом создание сетки можно считать завершенным. Далее полученную сетку мы мо­жем экспортировать в нужный нам решатель (ICEM предлагает на выбор около 100 решате­лей). В меню Output выбираем тип решателя Select Solve (в нашем случае — CFX-5).

Затем используем команду экранного меню Write input. Указываем имя сохраняемого файла (Output file) и при необходимости масшта­бируем сетку (Scaling).