Использование распараллеливания при построении сетки в объёме расчётной области для задач гидрогазодинамики

За последние десятилетия масштаб использования расчетов гидрогазодинамики существенно вырос. Инженеры стремятся узнать ещё больше об эффективности своих конструкций в различных условиях.

 

ANSYS - Теперь инженеры могут использовать параллельные высокопроизводительные вычисления (HPC – high-performance computing) при создании сетки в объёме расчётной области в задачах вычислительной гидрогазодинамики (CFD – computational fluid dynamics)

 

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

В то время как технологии CFD-решателя уже в полной мере используют распараллеливание и HPC, разбиение расчётной области на сетку оставалось преимущественно последовательным процессом.

После того, как построена трехмерная сетка, параллельные CFD-решатели могут распределять и уравнивать вычислительные нагрузки по HPC-кластеру. Равномерно загруженный таким образом кластер может, например, всего за два часа провести обширное численное моделирование аэродинамики самолета при взлёте. В сущности, современные решатели настолько быстрые, что построение сетки зачастую занимает больше времени, чем сам CFD-расчет.

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

Для сеток с большим количеством ячеек больше не требуется много памяти

За прошлый год разработчикам ANSYS Fluent удалось добиться большого прогресса в ускорении процесса создания сетки. Например, благодаря пошаговому процессу построения сетки на геометрических моделях, в которых расчётная область является идеально ограниченной геометрическими поверхностями (watertight geometry), инженеры уже после небольшой подготовки получают возможность строить сетки для решения реальных промышленных задач.

 

ANSYS - Ранее для построения сетки автомобиля F1 с задействованием только одного ядра требовалось 307 Гб оперативной памяти. При запуске аналогичного процесса на 16-ядерном кластере, требования к оперативной памяти, к которой может обратиться каждое ядро, снизились до 37 Гб или менее

 

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

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

Распараллеливание процесса построения сетки не только распределяет задачу по нескольким ядрам, но и использует для каждого из них своё пространство в оперативной памяти. Это позволяет снизить требования к объему памяти, к которому способно обратиться одно ядро, и, в конечном итоге, дает возможность большему количеству пользователей ANSYS использовать сетки с большим числом ячеек.

Алгоритмы ANSYS Fluent для создания сетки с использованием распараллеливания

Исторически, при параллельном построении сетки существовал ряд ограничений. Например, использовался подход с предварительным построением сетки на границах раздела частей расчётной области. Сетки на поверхности и в объёме строились, как правило, только совместно. Эти подходы могут приводить к сеткам, далёким от оптимальных: имеющих низкую масштабируемость и пропускающих важные особенности геометрии.

 

ANSYS - Создание сетки с использованием параллельной обработки данных. Различными цветами показаны части сетки, созданные одним процессом. Все процессы Fluent работают совместно, в режиме реального времени заполняя жидкие и твёрдые расчётные области

 

Используемый в модуле Fluent алгоритм построения комбинированной сетки с переходными полиэдрическими элементами и гексаэдрическими элементами в сердцевине («poly-hexcore») с поддержкой технологии «Mosaic» зарекомендовал себя благодаря своей геометрической точности, качеству сетки, снижению количества ячеек и высокой скорости расчёта. Вполне естественно было расширить применение данной технологии для построения объемной сетки с помощью распараллеливания с распределенной памятью.

В итоге, в новой версии модуля ANSYS Fluent – 2019 R1 – был представлен параллельный алгоритм с распределенной памятью для всех этапов построения объёмной сетки «poly-hexcore». Это означает, что параллельные вычисления используются при построении всех слоёв сетки: пограничного слоя, гексаэдрической сердцевины и соединительного слоя из полиэдрических элементов.

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

Такое адаптивное разделение модели на части также гарантирует, что:

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

Как создать 3D-сетку для CFD-задач с использованием распараллеливания и HPC

 

ANSYS - Пользователи Fluent могут легко получить доступ к распараллеливанию построения сетки без HPC-лицензии

 

Алгоритм, используемый во Fluent, не требует от пользователя какой-либо специальной подготовки поверхностной сетки и каких-либо сложных действий.

Просто запустите Fluent в параллельном режиме. Затем, на этапе построения объёмной сетки «poly-hexcore» по расчётной области (volume mesh), выберите параметр «Enable Parallel Meshing»
И не беспокойтесь о HPC лицензиях – распараллеливание построения сетки их не требует.
Перед выходом, алгоритм был проверен на ряде промышленных моделей. При работе на 64 ядрах процесс создания сетки оказался быстрее от 5 до 11 раз.

Так что же это дает пользователям ANSYS? Теперь в заданных временных ограничениях они смогут рассмотреть большее количество вариантов конструкции. В конечном итоге, это позволит выбрать наиболее оптимальное решение.

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

Чтобы узнать больше о технологии построения сетки ANSYS Mosaic, обратитесь к данному материалу (на английском языке).

Источник: www.ansys.soften.com.ua


Печать   E-mail