International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Методы и параллельная программа «ФРЕГАТ» распределения веществ в смешанных ячейках расчётных сеток Е.Н.Ребенок, Л.М.Зуева, Д.В.Могиленских, Т.Б.Фёдорова ФГУП Российский Федеральный Ядерный Центр – Всероссийский Научно-Исследовательский Институт Технической Физики имени академика Е.И. Забабахина, Снежинск, Россия rebenok_lena@mail.ru, d.v.mogilenskikh@vniitf.ru Аннотация. Для решения задачи распределения веществ и вычисления физических величин в смешанных ячейках произвольных гексагональных сеток разработана параллельная программа ФРЕГАТ, которая входит в состав программного комплекса 3D препроцессора РФЯЦ-ВНИИТФ. На основе пересечения ячеек сеток с областями произвольной CAD геометрии модели, где области характеризуют вещество, вычисляются массовые и объемные концентрации веществ в смешанных ячейках и другие физические величины. В результате формируется начальное состояние сеточных полей физических величин, которые передаются на расчет в прикладные программы в формате HDF. В статье представлены результаты численных исследований на примерах различных моделей. Расчеты выполнялись в разных режимах с различным числом процессов. Задание и расчёт начальных данных (РНД) является первым звеном в технологической цепочке прикладного численного моделирования. В связи с активным развитием в институте принципиально разных трехмерных комплексов численного моделирования актуальной является задача обновления методик и программного обеспечения 3D РНД. Для получения достоверных результатов прикладного численного моделирования необходимо иметь свои апробированные физико-математические модели, алгоритмы, коды программ и отлаженную систему верификации. Как показывает практика, для эффективного решения задач РНД для выделенных классов физических процессов требуется предметная ориентированность. Для прикладных программных комплексов (ПК) математического моделирования механики сплошной среды (МСС) в задаче РНД есть необходимость вычисления распределения веществ в смешанных ячейках расчётных сеток. На начальный момент времени должно быть сформировано сеточное поле концентраций веществ в ячейках, а также скалярные и векторные поля средних по веществам масс, плотностей, энергий, скоростей и других физических величин. Для решения этой задачи на больших сетках были разработаны методы и параллельная программа Фрегат, который входит в состав ПК 3D РНД [1, 2] РФЯЦ-ВНИИТФ. Основные этапы задания и расчета начальных данных в МСС: • Построение структуры и геометрического описания моделируемой физической системы. • Топологическое разбиение системы на счетные области. • Задание физических свойств счетных областей. • Построение расчетных сеток в областях. • Расчет физических величин в ячейках. • Формирование результата РНД в виде описания начального состояния физической системы и запись начальных данных в требуемых структурах и форматах. Программа Фрегат решает выделенные задачи: расчет физических величин в ячейках сеток; формирование результата РНД в виде описания начального состояния физической системы. 1 Постановка задачи Входными данными являются регулярная расчётная сетка, геометрия математических областей модели и набор физических характеристик, заданных в геометрических областях модели. Подготовленная сеточная модель с набором физхарактеристик на начальный момент времени математически описывает физическую модель. Эту совокупность данных назовём начальным разрезом задачи. Для программы Фрегат сетка задается в разных программах, например в программной платформе SALOME [3], и предоставляется в унифицированном виде в форматах на основе библиотеки HDF [4], в формате MED [3] и внутреннем формате РФЯЦ-ВНИИТФ. -257- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Входная геометрия модели принимается в двух вариантах: из пакетов CAD в формате BREP и в виде комбинаторного теоретико-множественного описания в текстовом формате DAT (такой способ применяется в методах Монте-Карло). На рисунке 1 представлены две модели в подсистеме GEOM платформы SALOME: справа модель в формате BREP, а слева импортирована из комбинаторного формата DAT. Формат BREP является форматом геометрического ядра в открытых кодах OpenCascade [5], в который можно конвертировать геометрию из CAD-форматов STEP, IGES, STL. Физические свойства геометрических областей описываются в XML формате, а управляющие параметры для проведения расчётов в текстовом формате. На рисунке 2 представлены те же две модели, но в рамках системы визуализации ВНИИТФ “ViziGeo m” [6] для комбинаторных моделей. Рис. 1. Две геометрические CAD модели в SALOME Рис. 2. Две геометрические комбинаторные модели в программе ViziGeom Входные физические данные описываются в редакторе или непосредственно в тексте XML файла. На рисунке 3 приведён пример редактора и XML вид. <task name=“997754"> <regions> <block num="1"> <reg num="1" sub=“1" v ar_part="0" n="[10 10 10]“ ro="2.7"/> … </block> <block num="2"> <reg num="1" sub=“3" v ar_part="1" n=“512" ro=“1.7” /> … </block> </regions> … Рис. 3. Создание и редактирование физических данных На рисунке 4 представлены примеры 2 типов входных сеток в формате HDF в системе визуализации ВНИИТФ “Vizi3D” [7], а на рисунке 5 те же сетки в формате MED в подсистеме SMESH платформы SALOME. Рис. 4. Сетки в формате HDF в системе визуализации Vizi3D -258- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Рис. 5. Сетки в формате MED в SALOME Основа методики – поиск объёмов пересечения ячеек сетки с геометрическими областями модели, т.е. ячейки описываются в виде твёрдого тела и пересекаются с твёрдотельной геометрией областей. Данный объём используется для определения концентраций веществ в смешанных ячейках и других физических характеристик. Объём пересечения вычисляется двумя способами: приближённым и точным. Для комбинаторного метода описания геометрии пересечение вычисляется только приближённым способом с помощью аппроксимации объёма ячейки совокупностью частиц, для чего применяется операция локализации частицы относительно объёмного тела области с веществом. Для CAD формата работают оба способа вычисления объёмов пересечения. Программа Фрегат ориентирована на учёт разных типов невырожденных и вырожденных гексагональных ячеек: параллелепипед, криволинейная ячейка с линейчатыми гранями, призма, пирамида. На рисунке 6 представлены разные типы ячеек. Реализован гибкий алгоритм автоматического подбора метода вычисления пересечений, это нацелено на решение двух задач: • сокращение времени вычисления объёмов пересечений; • минимизация потерь данных при авостах, если один из методов даёт ошибку. Примеры при решении этих задач: 1. Учёт геометрии ячеек в конкретной сетке при построении твёрдотельной ячейки и методов поиска пересечения. 2. Выборочность метода вычисления объёмов пересечения: применяется построение протяжкой, если ошибка, то построение поверхностями, если ошибка, то аппроксимация тетраэдрами, если опять ошибка, то применяется приближённый способ пересечения. Методы вычисления пересечений для формата BREP выполняются функциями библиотеки OpenCascade, а при пересечении аппроксимирующих тетраэдров применяется собственная программа. Рис. 6. Типы ячеек Построение ячейки в виде твёрдого тела осуществляется разными методами. Так, например, ячейка с линейчатыми гранями строится с помощью операции протягивания, как показано на рисунке 7 слева или же выполняется декомпозиция ячейки на тетраэдры – рисунок 7 справа. Рис. 7. Аппроксимация ячеек с линейчатыми гранями Вычисление точного объёма Vт гексагональной линейчатой ячейки выполняется путём объёмной аппроксимации ячейки на две декомпозиции на 5 тетраэдров. На рисунке 8 представлены 2 декомпозиции. V1 – сумма объёмов тетраэдров при 1-ой декомпозиции, V2 – сумма объёмов тетраэдров при 2-ой декомпозиции. Точный объём Vт – среднее двух объемов V1 и V2 . 5 V1 = ∑Vi , i =1 5 V2 = ∑V j VT = j =1 -259- V1 + V2 2 International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Рис. 8. Два варианта декомпозиции линейчатой ячейки на тетраэдры Вычисление приближенных объёмов пересечения ячеек сетки с областями модели реализовано с помощью аппроксимации объёма ячейки множеством частиц, для чего применяется операция локализации частицы относительно объёма. Реализовано 2 способа расстановки частиц в ячейке – регулярный и случайный, как показано на рисунке 9. Объём элементарной окрестности частицы вычисляется по формуле: VP = VТ , NP Объём области: где NP – количество частиц. Vreg = ∑ VP Рис. 9. Два способа аппроксимации объёма частицами 2 Вычисление физхарактеристик в ячейках сетки Для расчета объёмных концентраций веществ в ячейке вычисляются: • Объём ячейки. • Объём пересечения ячейки с физической областью модели. • Объёмная концентрация вещества α в ячейке Vijkα - это отношение объемов объёма пересечения к объёму ячейки, как показано на рисунке 10. Vijkα = Рис. 10. Вычисление объёмной концентрации веществ Далее в ячейке вычисляются другие величины: масса, плотность, компоненты скоростей, массовая концентрация, удельная внутренняя энергия. В результате формируется начальное состояние задачи на заданной расчётной сетке, которое передаётся на расчёт в прикладные программы в формате HDF. Примеры вычисления объёмов ячеек представлены на рисунке 11. Рис. 11. Визуализация объёмов линейчатых ячеек Расчёты в ПК Фрегат реализованы в однопроцессорном и в параллельном режимах [8]. -260- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ 3 Параллельная программная реализация Для параллельного режима вычислений выполняется декомпозиция по сеточным областям (рис. 12) или по фрагментам сетки (рис. 13), которые вычислительно распределяются по процессам. Рис. 12. Декомпозиция расчетной сетки по сеточным областям Рис. 13. Декомпозиция расчетной сетки по фрагментам сетки Каждый процесс записывает свою часть результирующей сетки с физическим наполнением в файл HDF (рис. 14 - слева), а при необходимости выполняется сборка одного полного разреза сеточной модели в один файл (рис. 14 - справа). Рис. 14. Окончательная сеточная модель по фрагментам и полный разрез после РНД • • • • Разработаны функции диагностики результатов выполнения РНД в смешанных ячейках: Контролируется сохранение массы, объёма. Контролируется отношение перенесённого объёма вещества из части областей в ячейки к точным объёмам ячеек, что необходимо для локализации и обработки пустых и полупустых ячеек. Фиксируются фрагменты сетки и ячейки с потенциальными ошибками для их дальнейшей обработки. Выдаётся статистика расчёта. Для анализа разрезов на больших сетках применяется визуализация в параллельном режиме. 4 Численное исследование Перейдём к рассмотрению примеров, на которых выполнялась верификация методики и программной реализации программы ФРЕГАТ. Расчёты выполнялись в разных режимах с применением параллельных вычислений. Задача 1. Дана модель, заданная комбинаторно, из 12-ти областей, заданы плотности материалов в областях (рис. 2 справа), также задана прямоугольная сетка с сеточными направляющими параллельными осям координат размером 88x88x108. На рисунке 15 слева представлена сеточная модель по веществам и справа изоповерхности областей. Рис 15. Сеточная модель и изоповерхности, полученные из комбинаторной геометрической модели -261- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ При оценке производительности параллельных вычислений рассчитывались ускорение и T1 T1 ,E S = ⋅ 100% , где T1 - астрономическое время эффективность распараллеливания по формулам = Tn nTn счета задачи на одном процессе, Tn - астрономическое время счета задачи на n процессах. В таблице 1 приведены сведения об эффективности распараллеливания и ускорении для задачи 1. Таб.1. Численные характеристики распараллеливания время, сек E,% S n 1 16994 4 5834 2,9 72 8 3039 5,6 70 Размер результирующего разреза – 308,4 Мб. Задача 2. Дана CAD-модель геометрии шашек и задана плотность материала шашек (рис. 16 - слева), также дана регулярная сетка 30x180x180 с плотностями в ячейках сетки (рис. 16 - справа). Ячейки с линейчатыми гранями. Необходимо погрузить шашки в сетку с расчётом концентраций веществ. Рис. 16. CAD геометрия шашек и исходная сетка В результате вычисляется следующий вектор величин в ячейках: массовые и объёмные концентрации веществ, плотности по веществам, средние массы, плотности и объёмы. На рисунке 17 представлены результаты выполнения РНД, т.е. смешанные ячейки в виде поля массовых концентраций. На рисунке 18 слева представлено поле плотности, а справа изоповерхностью показана форма шашек в сеточной модели. Рис. 17. Поле массовых концентраций Рис. 18. Поле плотности с изоповерхностями Задача считалась на 1 и 81 процессах. Эффективность распараллеливания равна 73%. Ускорение равно 59,3. Размер результирующего разреза – 102,2 Мб. -262- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Задача 3. Дана тестовая CAD-модель эмпирического летательного аппарата из 5 областей, задана плотность материалов в областях (рис. 19). Также были даны 4 вида сеток с разными ячейками, в которые нужно погрузить CAD-модель и описать её в виде веществ в смешанных ячейках. В результате вычисляется вектор величин в ячейках сеток: массовые и объёмные концентрации веществ, плотности по веществам, средние массы, плотности и объёмы. Рис. 19. CAD-модель эмпирического летательного аппарата из 5 областей Вариант 1. Дана прямоугольная неравномерная сетка с сеточными направляющими параллельными осям координат размером 30x70x110. На рисунке 20 слева представлены результаты выполнения РНД, т.е. сеточная модель в виде поля плотности в ячейках, а справа – области веществ выделены с помощью изоповерхностей по плотности областей. Рис. 20. Сеточная модель летательного аппарата на прямоугольной сетке Время счёта в однопроцессорном режиме составило 24 минуты. Размер результирующего разреза – 46,5 Мб. Вариант 2. Дана прямоугольная сетка с поворотом вокруг оси X размером 60x100x220. На рисунке 21 слева представлена сеточная модель в виде поля плотности в ячейках, а справа – области веществ выделены с помощью изоповерхностей по плотности областей. Рис. 21. Сеточная модель летательного аппарата на прямоугольной сетке с поворотом Время счёта в однопроцессорном режиме составило 45 минут. Размер результирующего разреза – 46,5 Мб. Вариант 3. Дана криволинейная сетка 2 области с размерами 60x60x83 и 59x59x20. На рисунке 22 представлена сеточная модель в виде поля плотности в ячейках. Рис. 22. Сеточная модель летательного аппарата на криволинейной сетке -263- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Задача считалась на 1 и 4 процессах. Эффективность распараллеливания равна 75%. Ускорение равно 2,98. Размер результирующего разреза – 65,5 Мб. Вариант 4. Дана сетка, где ячейки являются прямоугольными призмами. На рисунке 23 слева представлено поле плотности, справа – поле массовых концентраций. Рис. 23. Сеточная модель летательного аппарата на сетке с ячейками в виде прямоугольных призм Время счёта в однопроцессорном режиме составило 1 час 20 минут. Размер результирующего разреза – 75,1 Мб. Задача 3. Дана модель, заданная комбинаторно, из 3-х областей, заданы плотности материалов в областях (рис. 2 слева), также задана прямоугольная сетка с сеточными направляющими параллельными осям координат размером 68x68x110. На рисунке 24 представлена слева сеточная модель по веществам и справа изоповерхности областей. Рис. 24. Сеточная модель на прямоугольной сетке, полученная из комбинаторной геометрической модели В таблице 2 приведены сведения об эффективности распараллеливания и ускорении для задачи 3. Таб.2. Численные характеристики распараллеливания время, сек S n E,% 1 41266 8 6355 6,5 81 80 650 63,5 79 Размер результирующего разреза – 77,8 Мб. 5 Заключение 1. 2. 3. 4. 5. 6. 7. Разработана методика и программа ФРЕГАТ распределения веществ в смешанных ячейках на произвольных гексагональных сетках. Реализована параметризация расчёта с широкими возможностями. Выполнено численное исследование алгоритмов и программной реализации интерполяции. Программа верифицирована на разрезах со сложной геометрией сетки. Выполнены оценки точности интерполяции по критерию сохранения масс и перенесённых объёмов ячеек. Исследовано влияние параметров расчёта и методов пересечения на точность аппроксимации. Программа ФРЕГАТ передан в эксплуатацию в прикладные программные комплексы РФЯЦ-ВНИИТФ. -264- International Conference "Parallel and Distributed Computing Systems" PDCS 2013 (Ukraine, Kharkiv, March 13-14, 2013) _____________________________________________________________________________________________________________ Литература [1] В.Л. Александров, М.А. Григорьева, Т.М. Егорова, Л.М. Зуева, С.Е. Исламгулова, Д.В. Могиленских, Е.Н. Ребенок, И.Ю.Силантьева, А.И.Тайнов, Т.Б. Фёдорова, Н.Л. Фролова, Ю.В. Шуваева: Методики и комплекс программ построения 3D моделей и расчёта начальных данных для численного моделирования. 9-ая конференция «Сеточные методы для краевых задач и приложения»: Материалы конференции. Казань: 282-287, 2012. [2] В.Л. Александров, Т.М. Егорова, Л.М. Зуева, С.Е. Исламгулова, Д.В. Могиленских, А.И.Тайнов, , Н.Л. Фролова: Некоторые результаты адаптации и развития ПО SALOME для решения задачи формирования и расчета начальных данных. XII международный семинар «Супервычисления и математическое моделирование»: Сборник докладов. Саров, 11-15 октября: 17-23 , 2010. [3] SALOME platform for numeric simulation. [Электронный ресурс] - http://www.salome-platform.org [4] [Электронный ресурс] - http://www.hdfgroup.org. [5] [Электронный ресурс] – http://www.opencascade.org. [6] С.В. Коломейко, Д.В. Могиленских: “Оптимизация 3D визуализации математических моделей, заданных комбинаторным способом”. Численная геометрия, построение расчетных сеток и высокопроизводительные вычисления. Труды Всероссийской конференции. Вычислительный центр им. А.А. Дородницына Российской академии наук. Москва, 4-7 июля 2006г. Изд. “Фолиум”. ISBN 5-93881-050-7. [7] С.Н.Мельникова, Д.В.Могиленских, И.В.Павлов, В.В.Федоров, Е.Э.Сапожникова: Принципы построения и функциональное содержание системы визуализации для анализа скалярных и векторных полей, заданных на двумерных регулярных сетках. Международный семинар “Супервычисления и математическое моделирование”. Саров, 18-21 сентября: 53-55,2000. [8] В.В.Воеводин, Вл.В.Воеводин: Параллельные вычисления. СПб.: БХВ-Петербург, 2002. Methods and parallel program “FREGAT” for distributing substances in mixed cells of computational meshes Abstract. To solve a task of substances distribution and physical values computation in mixed cells of arbitrary hexagonal meshes developed was parallel program FREGAT as a part of computer codes of 3D preprocessor in RFNCVNIITF. The results of intersects of mesh cells with arbitrary CAD model geometry domains, where domains characterize substance, are the basis for calculating mass and volume concentrations of substances in mixed cells and other physical values. In result generated is the initial profile of mesh fields of physical values, which are transferred to be calculated to applied programs in HDF format. The paper presents results of numerical investigations at different models. Calculations were conducted in different modes with various numbers of processes. -265-