Переход с Ansys Fluent на ЛОГОС Аэро-Гидро

Данная публикация является первой в серии материалов, посвященных сравнению двух программ для численного моделирования газогидродинамики не с точки зрения результатов анализа, а с позиции рабочего процесса, используемых настроек и терминологии. В конечном итоге, должно получиться своеобразное сравнительное руководство «Ansys Fluent – Логос Аэро-Гидро».

Другие публикации будут посвящены таким вопросам, как: генератор сетки и анализ качества сеточной модели, граничные условия, физические модели, настройка решателя и анализ сходимости.

Болотин Кирилл Евгеньевич, к.т.н., инженер технической поддержки ГК «ПЛМ Урал»

Введение

Компания Ansys за 55 лет своего существования создала мощную среду для подготовки и решения различных численных задач, в которой удобно и привычно работать, но иногда жизнь складывается так, что приходится отказываться от известных инструментов и осваивать что-то новое. Например, отечественный продукт Логос Аэро-Гидро, используемый для решения задач вычислительной газогидродинамики.

Открыть проект Ansys Fluent или CFX напрямую в Логос невозможно, но можно облегчить переход, адаптируя геометрические и сеточные модели, созданные ранее в продуктах Ansys, чтобы сделать это быстро и эффективно, необходимо понимать специфику работы с ПО Логос.

Данная статья будет посвящена подготовке и импорту имеющихся геометрических и сеточных моделей для использования их в Логос Аэро-Гидро.

Что переносится из Ansys, а что нет

Прежде чем переходить к конкретным примерам переноса, важно понимать, какие данные из Ansys вообще пригодны для использования в ЛОГОС. Файлы расчётной модели и результатов Fluent — .cas и .dat — являются закрытыми внутренними форматами и не могут быть использованы напрямую. Частично обойти ограничение удаётся выгрузкой данных в текстовые таблицы формата CSV. А вот файлы расчётной сетки в формате .msh, построенные в Fluent Meshing, загружаются в ЛОГОС без проблем, что дает широкий простор для использования имеющихся наработок.

Геометрия из Ansys SpaceClaim в собственных форматах .scdoc и .scdocx недоступна. Решение простое: сохранить её в любом нейтральном формате — предпочтительно STEP как наиболее актуальном, либо IGES или STL — и импортировать в ЛОГОС. И, что особенно важно для планирующих переход: инженеру, уверенно владеющему Fluent Meshing, генератор сеток ЛОГОС не покажется чем-то незнакомым. Он построен логично, многие опции имеют прямые аналоги, и освоение второго инструмента при знании первого проходит гораздо быстрее.

Импорт сеточной модели, подготовленной в Ansys Fluent Meshing

Загрузка сетки выполняется через «Модель → Импортировать расчётную сетку». При открытии файла пакет запрашивает размерность модели, и здесь кроется первый важный нюанс. ЛОГОС работает исключительно в системе СИ, в метрах. Если сетка была построена в миллиметрах, а при импорте указаны метры, модель окажется увеличенной на три порядка — вместо детали в несколько сантиметров можно получить объект под тысячу метров. Исправить это можно двумя способами: масштабированием загруженного региона либо, если работа ещё не начата, удалением региона и повторной загрузкой с верной размерностью (Рис. 1).

Рисунок 1. Выбор единиц измерения создаваемой и импортируемой сетки

Отдельного внимания заслуживают именованные наборы. Если в Fluent Meshing грани были объединены в именованные наборы, их названия перенесутся в ЛОГОС; если нет — наборы можно создать уже в пакете. Однако типы граничных условий при импорте не сохраняются: все границы загружаются как стенки без проскальзывания, и входные, выходные, симметричные и прочие условия придётся назначать вручную. Наконец, важный технический нюанс: по умолчанию Fluent Meshing сохраняет сетку со сжатием — с постфиксом .gz в старых версиях или .h5 в новых. Такую сетку ЛОГОС не откроет и выдаст ошибку. При сохранении в диалоге записи сетки нужно сменить тип файла с «CFF Mesh Files» на «All Files» и убрать постфикс сжатия (Рис. 2) — несжатый .msh откроется корректно .

Рисунок 2. Настройки окна записи расчетной сетки в Ansys Fluent Meshing

Импорт геометрии из сторонних CAD

Импорт геометрии сложнее и требует понимания ряда тонкостей. При загрузке файла в параметрах импорта задаётся точность — размер минимального отрезка, которым аппроксимируется геометрия. Для моделей в метрах разумно задавать порядка 1·10⁻⁵ (Рис. 3). Для прямоугольных тел это некритично, но для цилиндров и сложных поверхностей чем меньше значение, тем точнее описание. Принципиально важно, что, в отличие от Fluent, где точность влияет лишь на визуализацию, в ЛОГОС она определяет реальную геометрию, на которой будет строиться сетка. При низкой точности качественную сетку получить не удастся.

Рисунок 3. Сравнение результатов импорта геометрии для двух вариантов Пользовательской точности

Простые тела — например, куб в формате STEP — загружаются без затруднений: сохраняется имя тела, видны все поверхности. Именованные наборы поверхностей при этом не переносятся (это проверено и для SpaceClaim, и для КОМПАС-3D). Сложности начинаются на сборках. Рассмотрим типичную задачу сопряжённого теплообмена: куб с полостью и вложенный в неё второй куб. Приём Suppress for Physics, которым в SpaceClaim подавляют тело, ЛОГОС не понимает — при импорте STEP загружаются оба куба, включая подавленный, да ещё и с дублированием, как показано на Рисунке 4.

Рисунок 4. А – Сечение геометрии, в которой подавлено внутреннее тело, Б – Результат импорта тестовой геометрии, определены три тела: зеленое – внешнее, красное – внутреннее, синее – полость (Все изображения – сечение плоскостью YZ)

Функционал попросту рассчитан на другой сценарий. Если внутреннее тело не нужно, надёжнее всего удалить его прямо в исходном CAD. Для корректной же загрузки сложной сборки хорошо работает другой приём: при импорте следует отключить формирование твёрдых тел. Согласно руководству, геометрия при этом грузится как оболочечная, которая затем заполняется, — и на практике тела загружаются раздельно и корректно, а создание региона проходит без ошибок.

Формат STL для таких задач подходит плохо: он оперирует фасеточной геометрией с пересекающимися поверхностями, и раздельная загрузка тел не работает. Кроме того, STL, в отличие от STEP и IGES, не подстраивается под единицы измерения — размерность приходится отслеживать вручную. Здесь уместно напомнить о работе с единицами в целом: при создании региона из геометрии, загруженной в миллиметрах, ЛОГОС выводит предупреждение о необходимости перевести размеры в метры, но автоматически этого не делает (Рис. 5).

Рисунок 5. Информационное сообщение при загрузке модели в миллиметрах

Размерность меняется вручную через «Геометрия → Деталь → Единицы измерения геометрической модели».

Генератор сеток: аналогии с Fluent Meshing

Чтобы получить доступ к сеточному генератору, в ЛОГОС сначала создаётся регион — это эквивалент импорта геометрии в Fluent Meshing. Далее в блоке генераторов выбираются типы сеток. Для аналитической геометрии включается поверхностная сетка, для фасеточной — замкнутые оболочки. Среди объёмных генераторов ключевой — сетки отсечением, гексаэдрический генератор, аналог poly-hexcore; сами разработчики называют его наиболее развитым и рекомендуют для расчётов. Доступны также многогранные (полиэдрические) и тетраэдрические сетки, тонкостенный генератор (аналог multizone) и специализированный генератор для задач формирования волн (Рис. 6).

Рисунок 6. Раздел «блок генераторов_1» и доступные сеточные генераторы

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

Локальные настройки имеют прямые соответствия. Face Size задаётся в параметрах генератора для конкретной границы, причём здесь же указывается и локальная толщина пограничного слоя (Рис. 7).

Рисунок 7. Задание локальных настроек сетки для Границы в Регионе 1

Body Size реализуется через дополнительные блоки генераторов, назначаемые телам; в новых версиях каждый блок может строить свой тип объемных элементов (Рис. 8).

Рисунок 8. Задание локальных настроек сетки для Региона 1

Body of Influence не требует предварительного построения в CAD, как в Ansys, где к тому же критично отсутствие общей топологии (Share Topology): достаточно выбрать примитив из списка или загрузить замкнутую поверхность из STL. Edge Size реализован через характерные кривые (Рис. 9).

Рисунок 9. Выбор типа виртуального тела, а также сетки, к которой оно будет применено

Существенное отличие от Fluent — более мягкая логика: целевой размер трактуется как ориентир, а не как жёсткое требование, что снижает риск неудачной генерации на сложной геометрии.

Глобальные настройки поверхностной сетки хранятся в параметрах на поверхности: целевой и минимальный размер ячейки, число точек на окружности (аналог Curvature, но задаётся не углом, а количеством точек) и скорость роста, которая выбирается из списка градаций, а не вводится числом (среднее значение соответствует примерно 1,2; таблица соответствий приведена в документации). Полезен «Структурированный шаблон», заметно повышающий качество сетки на прямоугольных областях (Рис. 10). Важно и отличие рабочего процесса: в ЛОГОС поверхностную сетку не следует строить до настройки границ и граничных условий, иначе последующее их редактирование затрудняется. Порядок обратный привычному по Fluent: сначала полная настройка модели, затем генерация. Стоит помнить и о том, что между отдельными телами ЛОГОС строит только неконформную сетку — независимо от наличия интерфейса между ними.

Рисунок 10. Набор настроек раздела «Параметры на поверхности»

Для тетра и многогранных сеток указываются только целевой и минимальный размеры ячеек, для «Сетки отсечением» добавляются еще два параметра в разделе «Шаблон»: Скорость роста ячеек от поверхности и Скорость роста ячеек внутри модели. Важно знать, что данные параметры не являются аналогами Buffer и Peel layers в Ansys Fluent Mesh. Скорость роста ячеек от поверхности указывает на количество слоев ячеек, размер которых совпадает с размером поверхностного слоя (Рис. 11).

Рисунок 11. Сравнение результатов генерации сетки для значений параметра «Скорость роста ячеек от поверхности» 1 и 4

Скорость роста внутри модели указывает на число слоев между детальными и грубыми ячейками внутри расчетной области (Рис. 12).

Рисунок 12. Сравнение результатов генерации сетки для значений параметра «Скорость роста ячеек внутри модели» 1 и 4 

При построении объёмной сетки пограничный слой задаётся тремя параметрами — скоростью роста, числом слоёв и общей толщиной, — а размер первой ячейки рассчитывается автоматически (Рис. 13). Это заметное удобство: контролировать y⁺ можно сразу, не прибегая к методу проб и перестроений, тем более что в пакет встроен калькулятор y⁺.

Рисунок 13. Настройки раздела «Пограничный слой»

Оценка качества сетки и выводы

Оценка качества выполняется во вкладке анализа и на текущем этапе доступна только для объёмной сетки. Ключевой параметр носит название «асимметрия», хотя по сути это ортогональное качество — угол между вектором, соединяющим центры соседних ячеек, и нормалью к их общей грани. Здесь важно не запутаться в подходах к расчету: в Fluent ортогональное качество — это косинус угла, меняющийся от 0 до 1 (приемлемо от 0,15, лучше от 0,2), тогда как в ЛОГОС отображается сам угол в градусах с пороговым значением около 85°, что и соответствует косинусу 0,15 (Рис. 14).

Рисунок 14. Отчет о качестве объемной сетки

 Соответственно, чем меньше угол, тем выше качество, и пакет наглядно показывает распределение элементов по этому критерию.

Заключение

Подводя итог: работа с геометрией и сеткой в ЛОГОС Аэро-Гидро имеет свои особенности, но не создаёт принципиальных барьеров для инженера, знакомого с Ansys Fluent. Понимание того, что такое локальные и глобальные размеры, Curvature, скорость роста и контроль пристеночного слоя, напрямую переносится в новый инструмент. Ключ к безболезненной миграции — знать несколько «подводных камней» (единицы измерения, форматы сохранения сетки, поведение при импорте сложных сборок) и заранее их учитывать.

Заявка на консультацию
Интересует это решение?
Оставьте заявку и мы проконсультируем по любым вопросам приобретения и внедрения