За последние десятилетия масштаб использования расчетов гидрогазодинамики существенно вырос. Инженеры стремятся узнать ещё больше об эффективности своих конструкций в различных условиях.
Эта тенденция требует большего количества ячеек трехмерной расчётной сетки и создаёт две проблемы: увеличение длительности времени решения задачи и потребность в большей вычислительной мощности.
В то время как технологии CFD-решателя уже в полной мере используют распараллеливание и HPC, разбиение расчётной области на сетку оставалось преимущественно последовательным процессом.
После того, как построена трехмерная сетка, параллельные CFD-решатели могут распределять и уравнивать вычислительные нагрузки по HPC-кластеру. Равномерно загруженный таким образом кластер может, например, всего за два часа провести обширное численное моделирование аэродинамики самолета при взлёте. В сущности, современные решатели настолько быстрые, что построение сетки зачастую занимает больше времени, чем сам CFD-расчет.
Однако теперь, благодаря ANSYS Fluent, инженеры могут создавать трехмерную сетку, используя распараллеливание, что значительно сокращает общее время моделирования.
Для сеток с большим количеством ячеек больше не требуется много памяти
За прошлый год разработчикам ANSYS Fluent удалось добиться большого прогресса в ускорении процесса создания сетки. Например, благодаря пошаговому процессу построения сетки на геометрических моделях, в которых расчётная область является идеально ограниченной геометрическими поверхностями (watertight geometry), инженеры уже после небольшой подготовки получают возможность строить сетки для решения реальных промышленных задач.
Переход от последовательной к параллельной обработке данных стал естественным следующим шагом в ускорении создания сетки. Скорость построения – не единственное, что ограничивало использование сеток с большим числом элементов. Исторически сложилось так, что для создания этих сеток требовалось много оперативной памяти.
Например, построение сетки из нескольких сотен миллионов ячеек с использованием вычислительных ресурсов только одного ядра может привести к переполнению оперативной памяти. Несмотря на это, все чаще требуемый размер сетки начинает пересекать отметку в один миллиард ячеек.
Пользователи, строящие сетки с большим числом элементов на одном ядре, обычно нуждаются в дополнительном объеме оперативной памяти в сравнении с конфигурацией HPC-кластера, которая необходима для проведения собственно расчёта.
Распараллеливание процесса построения сетки не только распределяет задачу по нескольким ядрам, но и использует для каждого из них своё пространство в оперативной памяти. Это позволяет снизить требования к объему памяти, к которому способно обратиться одно ядро, и, в конечном итоге, дает возможность большему количеству пользователей ANSYS использовать сетки с большим числом ячеек.
Алгоритмы ANSYS Fluent для создания сетки с использованием распараллеливания
Исторически, при параллельном построении сетки существовал ряд ограничений. Например, использовался подход с предварительным построением сетки на границах раздела частей расчётной области. Сетки на поверхности и в объёме строились, как правило, только совместно. Эти подходы могут приводить к сеткам, далёким от оптимальных: имеющих низкую масштабируемость и пропускающих важные особенности геометрии.
Используемый в модуле Fluent алгоритм построения комбинированной сетки с переходными полиэдрическими элементами и гексаэдрическими элементами в сердцевине («poly-hexcore») с поддержкой технологии «Mosaic» зарекомендовал себя благодаря своей геометрической точности, качеству сетки, снижению количества ячеек и высокой скорости расчёта. Вполне естественно было расширить применение данной технологии для построения объемной сетки с помощью распараллеливания с распределенной памятью.
В итоге, в новой версии модуля ANSYS Fluent – 2019 R1 – был представлен параллельный алгоритм с распределенной памятью для всех этапов построения объёмной сетки «poly-hexcore». Это означает, что параллельные вычисления используются при построении всех слоёв сетки: пограничного слоя, гексаэдрической сердцевины и соединительного слоя из полиэдрических элементов.
Fluent использует запатентованный алгоритм, который устанавливает адаптивные границы частей расчётной области, которые многократно меняются в течение всего процесса создания сетки. Это обеспечивает сбалансированность нагрузки на ядра и отсутствие искусственных ограничений при построении сетки вокруг различных геометрических элементов.
Такое адаптивное разделение модели на части также гарантирует, что:
- На поверхностях раздела частей расчётной области или у поверхностной сетки не образуются узкие промежуточные слои ячеек.
- Конформные сетки строятся с высокой точностью.
- Предварительно построенная поверхностная сетка не изменяется при параллельном построении сетки в объёме расчётной области.
Как создать 3D-сетку для CFD-задач с использованием распараллеливания и HPC
Алгоритм, используемый во Fluent, не требует от пользователя какой-либо специальной подготовки поверхностной сетки и каких-либо сложных действий.
Просто запустите Fluent в параллельном режиме. Затем, на этапе построения объёмной сетки «poly-hexcore» по расчётной области (volume mesh), выберите параметр «Enable Parallel Meshing»
И не беспокойтесь о HPC лицензиях – распараллеливание построения сетки их не требует.
Перед выходом, алгоритм был проверен на ряде промышленных моделей. При работе на 64 ядрах процесс создания сетки оказался быстрее от 5 до 11 раз.
Так что же это дает пользователям ANSYS? Теперь в заданных временных ограничениях они смогут рассмотреть большее количество вариантов конструкции. В конечном итоге, это позволит выбрать наиболее оптимальное решение.
Использование данного алгоритма в задачах, требующих сеток с большим количеством ячеек, даст возможность получения ответов на вопросы о конструкции в течение одного дня. Более того, для некоторых пользователей открывается возможность решать задачи, которые ранее были недоступны из-за аппаратных ограничений.
Чтобы узнать больше о технологии построения сетки ANSYS Mosaic, обратитесь к данному материалу (на английском языке).
Источник: www.ansys.com
Автор: Harsh Vardhan