Эффективное решение трехмерных задач газовой динамики разрывным методом Галёркина с помощью алгоритма DiamondTorre на графических ускорителях тема диссертации и автореферата по ВАК РФ 05.13.18, кандидат наук Корнеев Борис Азаматович
- Специальность ВАК РФ05.13.18
- Количество страниц 115
Оглавление диссертации кандидат наук Корнеев Борис Азаматович
Введение
Глава 1. Математическая и численная модель
1.1 Уравнения газовой динамики
1.1.1 Система уравнений Навье-Стокса
1.1.2 Уравнения Эйлера
1.1.3 Модель мультикомпонентных течений
1.2 Рунге-Кутты разывный метод Галеркина
1.2.1 Пространственная дискретизация
1.2.2 Временная дискретизация. Ограничители
Глава 2. Алгоритм реализации и разработка программного комплекса
2.1 Анализ шаблона численной схемы
2.2 Алгоритм DiamondTorre
2.3 Краткое описание программы
2.3.1 Структура и хранение данных
2.3.2 Обсчет одной башни DiamondTorre
2.4 Оценка производительности программы
2.4.1 Использование памяти ЦПУ
2.4.2 Параметрическая оценка производительности
2.4.3 Эффективность программы на разных вычислительных устройствах
Глава 3. Валидация программы
3.1 Задача Римана
3.2 Тесты многокомпонентной модели
3.3 Задача об обтекании клина
3.4 Задача о течении газа в канале со ступенькой
3.5 Задача Римана в сферических координатах
3.6 Обтекание шара. Моделирование и сравнение результатов
3.6.1 Обтекание при высоких М
Стр.
Глава 4. Моделирование и результаты
4.1 Задача о взаимодействии пузырька газа с ударной волной
4.1.1 Постановка задачи
4.1.2 Результаты вычислений. Случай пузырька с разреженным газом
4.1.3 Результаты вычислений. Случай пузырька с более
плотным газом
4.2 Исследование неустойчивости в задаче о взаимодействии
пузырька с ударной волной
4.2.1 Постановка задачи
4.2.2 Анализ неустойчивости
4.3 Использование разработанного солвера для моделирования газа в многофазных задачах
4.3.1 Распад капли жидкости в потоке газа
4.3.2 Динамика окружающего газа при плавлении металлической пластинки пучком энергии
Заключение
Список литературы
Список рисунков
Список таблиц
Приложение А. Документация программного комплекса DTG
А.1 Алфавитный указатель классов
А.1.1 Классы
А.2 Список файлов
А.2.1 Файлы
А.3 Классы
А.3.1 Структура model
А.4 Файлы
А.4.1 Файл 3D_fluxes.cuh
А.4.2 Файл array_out.cpp
Стр.
А.4.3 Файл dump.cpp
А.4.4 Файл fluxes.cuh
А.4.5 Файлinit.cu
А.4.6 Файл rkdg.cuh
А.4.7 Файл run_1.cu
А.4.8 Файл run_from_dump.cu
Рекомендованный список диссертаций по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК
Математическое моделирование течений жидкости и газа на основе разрывного метода Галеркина2010 год, кандидат физико-математических наук Токарева, Светлана Андреевна
Моделирование взаимодействий ударных волн с использованием неструктурированных расчётных сеток2013 год, кандидат наук Эпштейн, Дмитрий Борисович
Моделирование внутренних течений вязкой несжимаемой жидкости методом конечных элементов с использованием противопотоковых схем2007 год, кандидат физико-математических наук Гобыш, Альбина Владимировна
Численный метод расчета течений сжимаемого вязкого газа в широком диапазоне чисел Маха2004 год, кандидат физико-математических наук Чирков, Денис Владимирович
Моделирование пространственных течений в газовых трактах с использованием адаптивных сеток2014 год, кандидат наук Рощин, Антон Сергеевич
Введение диссертации (часть автореферата) на тему «Эффективное решение трехмерных задач газовой динамики разрывным методом Галёркина с помощью алгоритма DiamondTorre на графических ускорителях»
Введение
Актуальность темы исследования и степень её разработанности. Газовая динамика — одна из моделей механики сплошной среды. С ее помощью поддается количественному и качественному описанию множество процессов, будь то обтекание тел жидкостью или газом, истечение газа из сопла, процессы распространения взрывной волны, кавитации и многие другие [1]. Дополненные уравнениями Максвелла, так называемые уравнения магнитогидродинамики, с успехом применяются в моделировании некоторых процессов физики плазмы, астрофизики, космологии [2]. Также газодинамические модели и подходы применяются в моделировании климатических процессов [3], транспортных потоков [4] и многих других.
Численное моделирование является основным инструментом исследования нестационарных процессов газовой динамики [1; 5—7]. Говоря о численных методах, выделяют их следующие классы: конечно-разностные [8], конечно-объемные [9] и конечно-элементные [10] схемы по типу дискретизации пространства, явные и неявные [11] по типу дискретизации во времени. Рунге-Кутты разрывный метод Галеркина (метод RKDG) [12] для численного решения нестационарных уравнений газовой динамики, рассматриваемый в данной работе, представляет собой обобщение метода конечных объемов и метода Галеркина, относящегося к методу конечных элементов. При аппроксимации потоков может использоваться метод, основанный на решении задачи Римана о распаде разрыва, что роднит его с годуновскими методами [5]. Метод является явным по времени. Рунге-Кутты разрывный метод Галеркина изначально сформулирован для уравнения переноса [13], допускает обобщение для задач гиперболического типа, в частности, задач газовой динамики в рамках системы уравнений Эйлера [14], а также развиты расширения метода для решения задач других типов: конвекции-диффузии, в частности, системы уравнений Навье-Стокса, и эллиптических задач [12].
Со второй половины ХХ века высокопроизводительные компьютерные технологии широко используется для решения задач вычислительной гидрогазодинамики [15]. При этом вычислительная гидрогазодинамика (CFD) на данный момент является одним из основных методов решения инженерных задач проектирования деталей, устройств и других объектов с требуемыми гидро- или аэродинами-
ческими свойствами.Так, CFD-модули обычно являются частями программных продуктов для компьютерного дизайна и конструирования (CAD/CAE) [16], как например, ANSYS CFD [17], Autodesk CFD [18], FlowVision [19] и множество других. Кроме коммерческих разработок, существуют CFD-решатели с открытым исходным кодом (OpenFOAM [20]), а также множество кодов, разработанных в научных лабораториях [21], занимающихся передовыми исследованиями в области газовой динамики и смежными вопросами.
Выделим основные проблемы при разработке подобного рода программ-решателей. Для высокоточного моделирования «из первых принципов», то есть не уточняя и сужая математическую постановку задачи, может оказаться небходимо (но не достаточно) использование подробных сеток и большого числа итераций в расчете. Приведем некоторые оценки. Пусть, численная область характеризуется некоторыми размерами, которые обычно определяются характерным пространственным масштабом для моделируемого процесса. Число дискретных элементов по одной оси обычно задается порядка 102 — 103 и более. Следовательно, число ячеек, используемых для трехмерного численного эксперимента, оценивается от 106 и может достигать 109 — 1012 и более. Число итераций по времени определяется характерным временным масштабом для рассматриваемого процесса с учетом ограничений на шаг по времени, например, типа условия Куранта. Количество временных шагов может достигать 106 и более для актуальных задач. Таким образом, количество операций расчета одной ячейки численной схемы составляет 1012 — 1018 для одного численного эксперимента. Операция расчета одной ячейки численной схемы может требовать от десятков элементарных операций сложения-умножения для простейших явных схем до десятков тысяч в зависимости от сложности численной схемы.
Для решения задач такого масштаба [22] необходимо использовать современную вычислительную технику, имеющую сложную иерархическую структуру вычислительных элементов и системы памяти. Из набора современной вычислительной техники выделяются системы с графическими ускорителями ввиду их высокой производительности при сравнительно низкой стоимости [23; 24]. Для эффективного использования таких вычислительных систем необходимо разрабатывать и использовать подходящие алгоритмы расчета, учитывающие их особенности [25]. Так, эффективная реализация должна быть адаптирована к иерархической структуре памяти от оперативной памяти CPU до регистров CPU/GPU, не создавая узких мест, замедляющих скорость расчета [26; 27]. Кро-
ме того, остается актуальной проблема эффективной параллелизации алгоритма с учетом массивной параллельности GPU. Отдельным вопросом остается требование экономии памяти при построении алгоритма реализации, с помощью которого возможно моделировать область с как можно большим числом ячеек в пределах доступной памяти одного компьютера. Ввиду того, что объем памяти видеокарты меньше оперативной памяти CPU, объема памяти видеокарты зачастую не хватает для хранения всей вычислительной области, что влечет за собой проблему обмена между памятью GPU и CPU. Для построения эффективной реализации целесообразно принимать во внимание данные вопросы.
Традиционно, для численной реализации схем для решения трехмерных задач газовой динамики как в инженерно-исследовательских пакетах [17—19], так и при разработке новых программных комплексов в научных целях, в частности, с использованием метода RKDG [28], используется алгоритм пошаговой по времени синхронизации и распараллеливание методом геометрического разбиения области на подобласти (domain decomposition), обрабатываемые разными ядрами или процессорами. Такой алгоритм имеет проблемы замедления расчета из-за ограничения скорости доступа к памяти и кэшу (memory bound), особенно при увеличении используемой памяти при моделировании [29]. При использовании алгоритма domain decomposition возникают вопросы параллелизации заданной задачи на большое число параллельных юнитов (strong scaling). Выше отмечалось, что для задач CFD актуален вопрос экономии памяти. Кроме того, «наивная» пошаговая реализация требует создания дополнительных копий всей расчетной области в памяти [30], то есть не является экономной.
Кроме пошаговой синхронизации, известны более совершенные алгоритмы реализации, такие как cache-oblivious алгоритмы [31], алгоритмы пространственно-временного разбиения области — space-temporal tiling или blocking [32; 33], с применением в решении задач вычислительной физики и линейной алгебры. В газовой динамике данные алгоритмы находят применение при реализации решеточного метода Больцмана (Lattice Boltzmann) [34]. Теория локально-рекурсивных нелокально-асинхронных (LRnLA) [35] алгоритмов для реализации трехмерных эволюционных задач строится в четырехмерном пространстве-времени с использованием графа зависимостей, порождаемого численной схемой, обобщая и усовершенствуя подходы [31; 32], и позволяет строить алгоритмы с оптимальными характеристиками для массивно параллельных систем с иерархической системой памяти. LRnLA-алгоритмы применимы
для произвольных численных методов с локальным шаблоном [35] и применены в моделировании волновых процессов [29; 36], численном решении задач физической кинетики плазмы [37], линейной алгебры [38].
Целью данной работы является создание алгоритма для эффективного моделирования нестационарных трехмерных процессов газовой динамики в рамках системы уравнений Эйлера и Навье-Стокса на гетерогенных вычислительных системах.
Для достижения поставленной цели поставлены следующие задачи:
1. Построение численной схемы решения системы уравнений Эйлера методом RKDG для трехмерной декартовой сетки;
2. Построение численной схемы решения системы уравнений Навье-Стокса методом RKDG для трехмерной декартовой сетки с использованием локального разрывного метода Галеркина (LDG) для аппроксимации диссипативных членов;
3. Разработка LRnLA-алгоритма DiamondTorre реализации численной схемы уравнения Эйлера и его обобщение для уравнения Навье-Стокса;
4. Разработка программного комплекса с применением графических ускорителей, его валидация на ряде модельных задач, оценка производительности и эффективности;
5. Численное решение задачи о взаимодействии пузырька с ударной волной в полностью трехмерной постановке в рамках системы уравнений Эйлера;
6. Численное решение задачи о взаимодействии потока газа с препятствием в рамках системы уравнений Навье-Стокса.
Научная новизна.
1. Впервые разработан алгоритм DiamondTorre для метода RKDG решения задач газовой динамики;
2тт " "
. Для задачи взаимодействия пузырька газа с ударной волной решена задача потери цилиндрической симметрии в зависимости от начального возмущения осесимметрии поверхности пузырька, впервые получены значения инкремента мод неустойчивости.
Теоретическая и практическая значимость. Теоретическая значимость диссертационной работы определяется следующими положениями:
1. Получены оценки числа операций и объема данных на ячейку для численного метода RKDG на трехмерной декартовой сетке;
2. Предложен вариант расширения алгоритма DiamondTorre для многостадийных методов, каждая стадия которого имеет шаблон зависимостей типа «крест».
К практической значимости относятся следующие положения:
1. С помощью разработанной программы проведено моделирование процесса взаимодействия ударных волн и неоднородной газовой среды без использования суперкомпьютеров;
2. Программа используется в комбинации с другими решателями для моделирования двухфазной системы жидкость-газ со свободной поверхностью жидкости: программный комплекс используется как модуль для расчета газа в программе моделирования процесса 3D-печати, разрабатываемой в ООО «Кинтех Лаб».
Методология и методы исследования, используемые в данной работе, следующие. Элементы механики сплошных сред являются основой для формулировки математической модели описания динамики газа. С помощью теории численных методов построена численная схема. Для построения алгоритма реализации используется теория локально-рекурсивных нелокально-асинхронных алгоритмов. Разработка программного комплекса производится с использованием современных технологий программирования. Методология численного эксперимента используется для моделирования рассматриваемых в диссертации задач. Для визуализации и анализа трехмерных результатов используются инструменты работы с компьютерной графикой, в том числе 3D-графикой.
Основные положения, выносимые на защиту.
1. Построен алгоритм DiamondTorre для численного метода RKDG для решения задач нестационарной газовой динамики в трехмерной постановке в рамках уравнений Эйлера и Навье-Стокса;
2. На основе RKDG-метода и алгоритма DiamondTorre разработан гетерогенный программный комплекс на языках СUDA и С++, позволяющий проводить моделирование области с числом ячеек более 109 на одном вычислительном узле с производительностью более 108 ячеек в секунду, с возможностью трехмерной визуализации результатов моделирования; солвер валидирован на серии тестовых задач;
3. С помощью построенного программного комплекса решены задачи о взаимодействии сферического пузырька с плоской ударной волной, а также
задачи об обтекания газом твердого тела в полностью трехмерной постановке на персональном компьютере с видеокартой;
Достоверность результатов обеспечена использованием строгого математического аппарата при выводе численных методов и общепринятых тестовых постановок для численного моделирования с использованием полученных численных схем. Результаты тестов и оценок воспроизводимы и могут быть подтверждены при идентичном повторении постановки. Результаты диссертации соответствуют результатам, полученным другими авторами.
Апробация работы. Основные результаты работы докладывались на следующих всероссийских и международных конференциях:
1. 55-60 конференции МФТИ, г. Долгопрудный, Московская область, 20122017 гг.;
2. International Conference «Supercomputer Simulations in Science and Engineering», Mocsow, Russia, 2016;
3. International Conference on Computer Simulation in Physics and Beyond, Moscow, Russia, 2015;
4. International Conference on Computational Science, Reykjavik, Iceland, 2015;
5. Bifurcantions and Instabilities in Fluid Dynamics, Paris, France, 2015;
6. Japan-Russia Workshop «Supercomputer modeling, instability and turbulence in fluid dynamics», Moscow, Russia, 2015;
7. Национальный Суперкомпьютерный Форум, Переславль-Залесский, 2015 г.
Исследования по теме диссертации были удостоены гранта «УМНИК» по теме «Создание программного комплекса для высокоточного решения задач нестационарной газовой динамики» в 2013-2015 гг.
Публикации. Основные результаты по теме диссертации изложены в 18 печатных изданиях [30; 39—55], 5 из которых — в журналах, рекомендованных ВАК [39—43], в том числе одна [39] входит в систему цитирования WoS (Web Of Science), четыре [39; 40; 42; 43] — в Scopus.
Личный вклад автора в публикациях с соавторами. Единственным соавтором работ по теме диссертации является научный руководитель, вклад которого заключается в постановке задач и обсуждении полученных результатов. Личным вкладом диссертанта являются: разработка численного метода, алгоритмов и про-
граммного комплекса, его валидация, проведение численных экспериментов и обработка их результатов.
Глава 1. Математическая и численная модель
1.1 Уравнения газовой динамики
1.1.1 Система уравнений Навье-Стокса
Система уравнений, описывающая динамику вязкой сжимаемой жидкости или газа в трехмерном пространстве [56—58], представлена в виде
ди дЕг
+
дЬ дхг
= 0,
(1.1)
где и = (р, рп, Е) — «консервативные» переменные состояния жидкости или газа, р — плотность, п^ — вектор скорости, Е = р(е + 2пгп4) — полная энергия,
Б(и)г = [рпг, рщп^ + Р^ ,пгЕ + Рг2П — кдТ/дхг] —потоки,
Ргз = фц — 0 + ) — дщ/дхк(С — §Ц-)% — тензор давления с учетом вязких членов. к — кинематическая вязкость, С —«вторая» вязкость, к — коэффициент теплопроводности. Система замыкается уравнением состояния р = р(р,е).
Разделим формально потоки на невязкие (Эйлеровы) и чисто вязкие (Навье-Стоксовские) слагаемые.
ди дБ?и дЕ^
+ + = 0,
дЬ дхг
дхг
(1.2)
где ЕЕи = [рпг, рпгп2 + рЬц ,пгЕ] — Эйлеровы потоки,
Б
0, — к
дпг дп2 ' +
2
дх, ■ дхг} — дп^/дХк(С — 3 ^,
дп + IX )п — дпк/дхк (С — 3 к)пг — кдТ / дхг
— вязкие «потоки».
1.1.2 Уравнения Эйлера
В пренебрежении вязкостью и теплопроводностью имеем систему
dU dFE
Eu
дЬ + = 0 (1.3)
дЬ дх{
также известную как систему уравнений Эйлера, записанную в дивергентном виде [59].
1.1.3 Модель мультикомпонентных течений
Существует множество способов математического описания многокомпонентных течений. Их можно разбить на два типа. Первый тип — это так называемые методы отслеживания интерфейса, где отслеживается граница между двумя различными компонентами [60]. Второй класс методов называется объемно-жидкостной (от англ. volume of fluid или сокращенно VoF [61]), и его суть в том, что мы не концентрируем внимание на интерфейсы между различными компонентами, а наблюдаем динамику каждого компонента отдельно. Второй подход легко описывает смешивание газов и не требует численно сложных операций трассировки интерфейса. При этом поверхность раздела компонент строится неявным образом (например, методом level-set [62]) и может быть подвержена численной диссипации.
В этой работе используется «модель четырех уравнений» многокомпонентного потока [28; 63], относящаяся к типу VoF. Каждый компонент потока в каждой
точке пространства представлен его объемной долей ai, 0 ^ ai ^ 1, Y1 а = 1.
i
Рассматривается уравнение адвекции для каждой составляющей объемной доли
д <*+Vi да=0, (1.4)
дЬ 3 дх3
р = р(р, £, с^) — уравнение состояния, замыкающее систему уравнений. Далее используется модель смеси идеальных газов, определяемая следующими урав-
нениями
Р = Р£(У - 1),
а (1.5)
£
у - 1 ^ уг - 1 уг есть показатель адиабаты ¿-ой компоненты смеси.
Квазиконсервативный вид системы уравнений Дополним систему уравнений (1.1) или (1.3) уравнением (1.4), чтобы получить систему уравнений для смеси в квазиконсервативной форме. Ввиду того, что уравнение (1.4) представлено не в дивергентном виде, перепишем его следующим образом
д а д (уз а) дУз дЬ дхз г дхз
Теперь левая часть находится в дивергентном виде, а также присутствует источ-никовый член в правой части.
я т
О ОЮл
' 1 дхj
, получим полную си-
Вводя и = а] \ $з = ^з, Уз а] °, © = стему уравнений, записанную в дивергентном виде с дополнительным членом в правой части:
дИ д$з ^ , ч
я7 + я = 6 (1.6)
дЬ дхз
1.2 Рунге-Кутты разывный метод Галеркина
1.2.1 Пространственная дискретизация
Пусть мы строим численное решение системы (1.1) в области О е К3, Ь > 0 с границей дО с некоторыми заданными начальными условиями при Ь = 0 и граничными условиями. Введем дискретизацию пространства О с помощью сетки из конечных объемов. Для начала рассмотрим случай = 0. Тогда система представляется в дивергентном виде, имеет гиперболический тип, и метод RKDG строится следующим образом. В каждой ячейке Ь введем набор базисных функций {фп}, и решение будем искать в виде разложения по этому базису для каждой
компоненты искомого вектора и, при этом базисные коэффициенты суть функции от времени. Таким образом, численное решение ищется в виде
Ц1(х,Ь) = ип(г)фп(х). (1.7)
(1.7) подставляется в (1.3), при этом мы требуем, чтобы получаемая невязка была ортогональна базисным функциям. Интеграл по объему ячейки Ь с помощью теоремы Гаусса преобразуем так, чтобы получить интеграл по поверхности ячейки дЬ. Получим
^ / ^ + [ рр'Фт^ - г е-дт
Здесь и далее П — нормаль к границе ячейки дЬ. В данной работе используется
Гь фпфтву = ьт
ортонормированный базис, поэтому фпфтсСУ = Ьпт и
^^ + / - [ Рр^сУ = 0. (1.8)
СЬ ,1дь А дхг.
Так строится DG-аппроксимация для уравнения Эйлера [14; 47].
Локальный разрывный метод Галеркина В данной работе используется обобщение данного метода для аппроксимации диссипативных членов в уравнении Навье-Стокса, известное как LDG-метод (локальный разрывный метод Галеркина [64]). Введем набор новых переменных для пространственных производных в потоке
ди- дТ
V = р = дТ (1.9)
дх^ дхг
Так же формально будем искать численное решение для тензоров V и 3 в виде разложения по базису {фп}.
У = ^п(Ь)фп(х), 8 = 8п(Ь)фп(х) (1.10)
Для невязки в (1.9) при аппроксимации (1.10) так же ставится условие ортогональности базисным функциям, что приводит к следующей алгебраической системе
^т(Ь) = игП фт- СУ
дх (1.11)
8т(Ь) = ТпгфтсСХ - Т-фтсСУ . дТ . т дхг
~ ди■ д(щЬ{] дТ д(тьк) Т-,
Здесь использованы равенства -дик = у к>, дТ = \ и теорема Гаусса
^ г дх2 дхк ' дхг дхк ^ 0
[ ^ фЖ = / д3) 4у - Г щ &1 ¿у =
]ь дхк дхк Л дхк
= [ игЬзкпк¿2 - [ щдфт¿V = [ щП¿2 - [ идфтdV. }дЬ ^ Ь дхз ЗдЬ ^ ь дхз
Аналогично для градиента температуры.
Далее строим аппроксимацию для уравнения (1.2)
+ / FfuфmnidS + / FNS -Г Fг ^ ¿V = 0. (1.12)
¿г .1дь }дь Л дхг
Модификация для многокомпонентных течений Аналогичная процедура пространственной дискретизации проводится для системы (1.6), описывающей среду из смеси нескольких газов. В результате получим следующее выражение
+ ФтЪ П ¿2 = Д дф ^ + ^ ¿V, (1.13)
¿г > , г^з"^ - I \
где = [Fз аг]т.
В интеграле по объему ячейки содержится дополнительный член, соответствующий члену-источнику в правой части (1.6).
Численные потоки В членах уравнений (1.12) и (1.11), содержащих интегралы по поверхности границы между ячейками, необходима аппроксимация подынтегрального выражения, использующая значения в соответствующих ячейках, формирующих грань поверхности. Для потока Ffu обычно используется поток на основе решения задачи Римана [65]. В данной работе используются следующие виды численных потоков. Поток Русанова [66] (иногда в литературе встречается под названием локального потока Лакса-Фридрихса), определяется формулой (1.14),
FЬЬF = 2 ^гь + FiR + шах(\игь\ + аь, \щд\ + ад)^ - Щ)). (1.14)
Здесь индексы Ь и Я обозначают значения с разных сторон от поверхности границы между ячейками (для простоты, далее будем говорить слева или справа), щ — скорость, аЬд — скорость звука слева или справа. Поток HLLC [65; 67],
обеспечивающий более точное описание контактных разрывов, задается выражениями (1.15).
F
HLLC
= <
если SL > 0;
если Sl < 0 < S*; если S* < 0 < Sr; если SR < 0.
Здесь Sl = min (ul - aL, ur - aR), Sr = max (ul + öl,u%r + ör),
Fl ,
FL,
F?
iR
FtR,
S * =
PR - PL + PlMíl(Sl - UiL) - PrUr(Sr - UiR) Pl(Sl - UiL) - Pr(Sr - UiR)
77* _
FiK =
S*(SkUk - FiK) + Sk(Pk + Pk(Sk - UiK)(S* - иж)D*)
Sk - S *
(1.15)
где D* = [0, Ьг],5*], К = Ь, Я.
Для диссипативных членов предложены различные аппроксимации [12]. В работе используется полусумма значений слева и справа от поверхности [68]
- = 2(-L + -R)-
(1.16)
Интегралы заменяются квадратурными формулами Гаусса нужного порядка [69].
1.2.2 Временная дискретизация. Ограничители
Система ОДУ (1.11), (1.12) разрешена относительно старшей производной и может быть представлена в виде
y' = Ly;
(1.17)
У (0) = yo.
Система (1.17) решается численно с помощью явного метода Рунге-Кутты M порядка.
y(0) = y(t);
i-i
Vi = 1,-..,M : y(i) = Л{ ^ aüy(l) + виAtLy(l)}; (1.18)
y(t + At) = yM.
l=0
M
Для использования метода RKDG к задачам с разрывными решениями, на каждой стадии метода необходимо использовать ограничитель Л для монотонизации численной схемы [12]. Разработаны ограничители различных типов, во многом схожие с ограничителями, применяемыми в конечно-разностных [70; 71], конечно-объемных [72—74] и конечно-элементных схемах [75]. В данной работе используется ограничитель «mmmod» [70], который для декартовой сетки и линейной аппроксимации по пространству строится следующим образом. Пусть решение в ячейке представлено в виде
V= у0 + (х - ху ] = 1,... ,Ых
Тогда положим
л I 0 / л ( 1 - V0 V0 - V0-!)
= уУ + (х - Ху, ——-————^ , где
в • тт(\х\,\у\,\г\) , если sign(x) = sign(y) = sign(z) = в
в • mi | 0, ин
^у^ =
0, иначе
Ограничитель по другим координатам строится аналогичным образом.
Отметим, что построенная схема RKDG будет иметь второй порядок точности на гладких решениях [76] с падением порядка до первого на разрывах [77].
При использовании схем Рунге-Кутты более высокого порядка по времени, чем схема Эйлера, вводятся дополнительные условия на коэффициенты метода Рунге-Кутты в формуле (1.18)
оц ^ 0, ви ^ 0,
при выполнении которых численный метод RKDG обладает TVDM свойством [12; 78].
В данной работе используется кусочно-линейный базис и метод Рунге-Кутты 2 порядка,
у(0) = у{);
У(1) = л{ у(0) + Д^у(0)} ; у(2) = л{ 1 (у(0) + у(1) + Д^у(1))}; у (г + д*) = у(2). который является оптимальным TVD методом 2 порядка [78].
Глава 2. Алгоритм реализации и разработка программного комплекса
2.1 Анализ шаблона численной схемы
Напомним, что целью данной работы является создание алгоритма для эффективного моделирования нестационарных трехмерных процессов газовой динамики на гетерогенных вычислительных системах. Во введении отмечено, что данный тип вычислительной техники обладает рядом преимуществ, прежде всего связанных с высокой производительностью при сравнительно невысокой цене, но и обладает рядом особенностей, как например, иерархическая структура системы памяти оперативная память CPU ^ память GPU ^ регистры GPU, массивная параллельность графического ускорителя, поэтому для эффективного использования таких вычислительных систем необходимо разрабатывать и использовать подходящие алгоритмы расчета, учитывающие их особенности.
В данном исследовании рассматривается вопрос применения локально-рекурсивных нелокально-асинхронных (LRnLA) алгоритмов для реализации численного метода RKDG решения задач газовой динамики [46]. Для начала удостоверимся, что численная схема имеет локальный шаблон [35]. Действительно, метод является многостадийным и распадается на подстадии вычисления потока и выполнения стадии Рунге-Кутты (см. рисунки 1а и 1б), и подстадии применения ограничителя (рис. 1в), каждая из которых имеет шаблон «крест», то есть для выполнения операции в ячейке (i,j,k) требуется информация из множества Ш^к = {(i ± ± в,к ± у), а, в, Y е {0,1}, а + в + Y = 1}. Для пространства размерности d шаблон «крест» содержит 2d + 1 точек. В итоге путем комбинации шаблонов подстадий нетрудно получить шаблон для вычисления одной ячейки (рис. 1г). Ширина шаблона составляет девять ячеек для схемы Эйлера [30].
Подстадии вычисления диссипативных членов по построению метода LDG алгоритмически идентичны подстадиям вычисления потоков, поэтому они также имеют шаблон типа «крест».
11-1/2
А
1+1
I 1+1
(а)
(б)
(в)
(г)
Рисунок 1: Графы зависимостей в поперечном сечении: а — вычисление потоков, б — потоки и стадия Рунге-Кутты, в — процедура ограничителя; г — граф зависимостей вычисления одного шага по времени для одной ячейки. Ребра графа есть данные, вершины — совершаемые операции
2.2 Алгоритм DiamondTorre
В данной работе рассматривается LRnLA алгоритм DiamondTorre. Изначально разработанный как оптимальный LRnLA алгоритм для явных численных схем с шаблоном «крест» [36; 79], в данной работе разрабатывается алгоритм DiamondTorre, адаптированный для схемы RKDG метода решения задач газовой динамики. Несмотря на то, что сам по себе шаблон метода RKDG не является «крестом» (рис. 1г), каждая его подстадия имеет шаблон «крест», что позволяет использовать аналогичный [36; 79] подход.
Опишем разработанный нами алгоритм [40]. Разобьем четырехмерный (3D1T) граф зависимостей, элементарный участок которого в 1D1T сечении представлен на рис. 1г, на специальные структуры, так называемые башни (torre — башня, исп., ит.). Подобное разбиение представлено на рисунке 2. Суть каждого кирпичика башни с координатами (xi,yj,tk) — выполнение части расчета по численной схеме по всему отрезку (xi,yj,zk,tk), zk E 0,Nz, это может быть выполнение стадий расчета диссипативных членов, Рунге-Кутты или ограничителей. На рисунке 2а они обозначены NS, RK1, RK2 и L. Будем считать координатами башни координаты ее левого нижнего кирпичика в плоскости xt. Сечение башни плоскостью xy на каждом шаге по времени представляет собой две ячейки. Ось z векторизована.
Похожие диссертационные работы по специальности «Математическое моделирование, численные методы и комплексы программ», 05.13.18 шифр ВАК
Повышение эффективности трехмерного численного моделирования сверхзвуковых течений при конечно-объемной дискретизации на неструктурированных сетках2023 год, кандидат наук Стручков Андрей Викторович
Моделирование химически реагирующих потоков с использованием вычислительных алгоритмов высокого порядка точности2018 год, кандидат наук Пескова, Елизавета Евгеньевна
Разработка и исследование численных схем высокого порядка точности для решения уравнений газовой динамики на неструктурированных сетках2008 год, доктор физико-математических наук Ляпунов, Сергей Владимирович
Численное моделирование в задачах горения и дифракции ударных волн: алгоритмы на основе метода конечного объема2012 год, доктор физико-математических наук Мартюшов, Сергей Николаевич
Методика моделирования течений вязкого газа в ортогональных криволинейных координатах2021 год, доктор наук Абакумов Михаил Владимирович
Список литературы диссертационного исследования кандидат наук Корнеев Борис Азаматович, 2019 год
Список литературы
1. Гиперзвуковая аэродинамика и тепломассообмен спускаемых космических аппаратов и планетных зондов / под ред. Г. А. Тирского. — М.: Физматлит, 2011.
2. Попов, Ю. П. Разностные методы решения задач газовой динамики: Учеб. пособие для вузов по спец. прикл. математика / Ю. П. Попов, А. А. Самарский. — М.: Наука, 1992.
3. Математическое моделирование конвективного тепломассообмена на основе уравнений Навье-Стокса / под ред. В. С. Авдуевский. — М.: Наука, 1987.
4. Введение в математическое моделирование транспортных потоков: Учебное пособие / под ред. А. В. Гасников. — М.: МЦНМО, 2012.
5. Годунов, С. К. Разностный метод численного расчета разрывных решений уравнений гидродинамики / С. К. Годунов // Математический сборник. — 1959. — Т. 47, № 3. — С. 271—306.
6. Белоцерковский, О. М. Численное моделирование в механике сплошных сред / О. М. Белоцерковский. — М.: Наука. Гл. ред. физ.-мат. лит., 1984.
7. Самарский, А. Математическое моделирование и вычислительный эксперимент / А. Самарский // Вестник АН СССР. — 1979. — Т. 5.
8. Roe, P. L. Approximate Riemann solvers, parameter vectors, and difference schemes / P. L. Roe // Journal of computational physics. — 1981. — Vol. 43, no. 2. — P. 357—372.
9. Jameson, A. Numerical solution of the Euler equations by finite volume methods using Runge Kutta time stepping schemes / A. Jameson, W. Schmidt, E. Turkel // 14th fluid and plasma dynamics conference. — 1981. — P. 1259.
10. Reddy, J. N. The finite element method in heat transfer and fluid dynamics / J. N. Reddy, J. I. Gartling. — 1994.
11. Pulliam, T. N. Implicit finite-difference simulations of three-dimentional compressible flow / T. N. Pulliam, J. I. Steger // AIAA Journal. — 1980. — Vol. 18. — P. 159—167.
12. Cockburn, B. Runge-Kutta discontinuous Galerkin methods for convection-dominated problems / B. Cockburn, C.-W. Shu // Journal of scientific computing. — 2001. — Vol. 16, no. 3. — P. 173—261.
13. Reed, W. H. Triangular mesh methods for the neutron transport equation : tech. rep. / W. H. Reed, T. Hill; Los Alamos Scientific Lab., N. Mex.(USA). — 1973.
14. Noelle, S. On the derivation of the Discontinuous Galerkin method for hyperbolic conservation laws / S. Noelle // Mathematics of Computation. — 1989. — Vol. 52. — P. 411—435.
15. Flow simulation and high performance computing / T. Tezduyar [et al.] // Computational Mechanics. — 1996. — Vol. 18, no. 6. — P. 397—412.
16. Коптилин, Р. Обзор рынка CAE решений для гидро-, газодинамики турбо-машин / Р. Коптилин, А. Гайнутдинов // Информационно-технологический вестник. — 2017. — Т. 13, № 3. — С. 94—105.
17. ANSYS CFX. — URL: http://www.ansys.com/.
18. Autodesk Simulation CFD. — URL: http://www.autodesk.ru/products/simulation/ features/simulation-cfd/all/galleryview.
19. FlowVision. — URL: https://flowvision.ru/.
20. OpenFOAM: The open source CFD toolbox. — URL: https://www.openfoam. com/.
21. Отечественные CFD коды. — URL: http://caa.imamod.ru/cfdweekend/index. php/spisok-kodov.
22. Geller, T. Supercomputing's exaflop target / T. Geller // Communications of the ACM. — 2011. — Vol. 54, no. 8. — P. 16—18.
23. Nickolls, J. The GPU Computing Era / J. Nickolls, W. J. Dally // IEEE Micro. — 2010. — Vol. 30, no. 2. — P. 56—69.
24. Hagen, T. R. Solving the Euler equations on graphics processing units / T. R. Hagen, K.-A. Lie, J. R. Natvig // International Conference on Computational Science. — Springer. 2006. — P. 220—227.
25. Москалев, П. В. О применении GPGPU технологий в задачах математического моделирования / П. В. Москалев, В. В. Шитов // Вестник Воронежского государственного университета инженерных технологий. — 2010. — № 2. — С. 54—59.
26. Желтов, С. А. Особенности адаптации вычислительных алгоритмов к архитектуре CUDA / С. А. Желтов // МАТЕМАТИЧЕСКИЕ МЕТОДЫ УПРАВЛЕНИЯ. — 2011. — С. 33—36.
27. Brodtkorb, A. R. Graphics processing unit (GPU) programming strategies and trends in GPU computing / A. R. Brodtkorb, T. R. Hagen, M. L. S^tra // Journal of Parallel and Distributed Computing. — 2013. — Vol. 73, no. 1. — P. 4—13. — URL: http://www.sciencedirect.com/science/article/pii/S0743731512000998 ; Metaheuristics on GPUs.
28. Gryngarten, L. D. Shock-Bubble Interaction Simulations Using a New Two-Phase Discontinuous Galerkin Method / L. D. Gryngarten, S. Menon // 49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition, no. AIAA-2011-294, Orlando, FL. — 2011.
29. Zakirov, A. The Effective 3D Modeling of Electromagnetic Waves Evolution in Photonic Crystals and Metamaterials / A. Zakirov, V. Levchenko // Session 3AP. — 2009. — P. 169.
30. Корнеев, Б. А. Моделирование уравнений газовой динамики разрывным методом Галёркина с помощью алгоритмов LRnLА / Б. А. Корнеев, В. Д. Левченко. — Препринты ИПМ им. М. В. Келдыша РАН. — M.: 2013. — № 28. — 17 c.
31. Cache-oblivious algorithms / M. Frigo [et al.] //. — 1999. — P. 285—297.
32. Song, Y. New tiling techniques to improve cache temporal locality / Y. Song, Z. Li // ACM SIGPLAN Notices. — 1999. — Vol. 34, no. 5. — P. 215—228.
33. Muranushi, T. Optimal temporal blocking for stencil computation / T. Muranushi, J. Makino // Procedia Computer Science. — 2015. — Vol. 51. — P. 1303—1312.
34. Introducing a parallel cache oblivious blocking approach for the lattice Boltzmann method / T. Zeiser [et al.] // Progress in Computational Fluid Dynamics, an International Journal. — 2008. — Vol. 8, no. 1—4. — P. 179—188.
35. Левченко, В. Д. Асинхронные параллельные алгоритмы как способ достижения эффективности вычислений / В. Д. Левченко // Информационные технологии и вычислительные системы. — 2005. — Т. 1. — С. 68—87.
36. Levchenko, V. DiamondTorre Algorithm for High-Performance Wave Modeling / V. Levchenko, A. Perepelkina, A. Zakirov // Computation. — 2016. — Vol. 4, no. 3. — P. 29.
37. Перепёлкина, А. Ю. Исследование роли вейбелевской неустойчивости во взаимодействии лазерного излучения со сверхкритической плазмой при помощи численного моделирования / А. Ю. Перепёлкина, В. Д. Левченко, И. А. Горячев. — Препринты ИПМ им. М. В. Келдыша РАН. — M.: 2014. — № 26. — 19 c.
38. Горячев, И. А. Оценка вычислительной производительности локально-рекурсивных нелокально-асинхронных алгоритмов на гетерогенных системах / И. А. Горячев // Тезисы докладов Международной суперкомпьютерной конференции «Научный сервис в сети Интернет: поиск новых решений». — 2012.
39. Корнеев, Б. А. Эффективное решение трехмерных задач газовой динамики Рунге-Кутты разрывным методом Галеркина / Б. А. Корнеев, В. Д. Левченко // Ж. вычисл. матем. и матем. физ. — 2016. — Т. 56, № 3. — С. 465—475.
40. Korneev, B. A. DiamondTorre GPU implementation algorithm of the RKDG solver for fluid dynamics and its using for the numerical simulation of the bubble-shock interaction problem / B. A. Korneev, V. D. Levchenko // Procedia Computer Science. — 2015. — Vol. 51. — P. 1292—1302.
41. Корнеев, Б. А. Моделирование трехмерных нестационарных вязких сжимаемых течений на графических картах с помощью алгоритма DiamondTorre / Б. А. Корнеев, В. Д. Левченко. — Препринты ИПМ им. М. В. Келдыша РАН. — M.: 2018. — № 105. — 17 c.
42. Korneev, B. A. Numerical simulation of increasing initial perturbations of a bubble in the bubble-shock interaction problem / B. A. Korneev, V. D. Levchenko // Fluid Dynamics Research. — 2016. — Vol. 48, no. 6, 061412. — 9 p.
43. Korneev, B. A. Detailed numerical simulation of shock-body interaction in 3D multicomponent flow using the RKDG numerical method and DiamondTorre GPU algorithm of implementation / B. A. Korneev, V. D. Levchenko // Journal of Physics: Conference Series. — 2016. — Vol. 681, no. 1, 012046. — 6 p.
44. Korneev, B. A. Effective numerical simulation of the gas bubble-shock interaction problem using the RKDG numerical method and the DiamondTorre algorithm of the implementation / B. A. Korneev, V. D. Levchenko. — Keldysh Institute Preprints. — M.: 2014. — no. 97. — 12 p.
45. Korneev, B. MODELING OF THE 3D UNSTEADY MULTISCALE MULTIPHASE FLUID FLOW WITH SHOCKS: NUMERICAL METHODS AND IMPLEMENTATION ALGORITHMS / B. Korneev, V. Levchenko // Int. Sci. J. Math. Model. — 2018. — Vol. 2, no. 4. — P. 126—132.
46. Корнеев, Б. А. Моделирование уравнений газодинамики RKDG методом с помощью алгоритмов LRnLА / Б. А. Корнеев // Труды 55-й научной конференции МФТИ. Управление и прикладная математика. Том 2. — М.: МФТИ (ГУ), 2012. — С. 53—54.
47. Корнеев, Б. А. Разрывный метод Галeркина для трёхмерных уравнений газовой динамики / Б. А. Корнеев // Труды 56-й научной конференции МФТИ. Управление и прикладная математика. Том 2. — М.: МФТИ (ГУ), 2013. — С. 66-67.
48. Корнеев, Б. А. Оценка эффективности алгоритма DiamondTorre реализации численного метода RKDG для моделирования трехмерных задач нестационарной газовой динамики / Б. А. Корнеев, В. Д. Левченко // Труды 57-й научной конференции МФТИ с международным участием, посвящённой 120-летию со дня рождения П.Л. Капицы. Управление и прикладная математика. Том 2. — М.: МФТИ (ГУ), 2014. — С. 80—81.
49. Корнеев, Б. А. MPI-версия алгоритма DiamondTorre для решения сверхбольших задач газовой динамики методом RKDG на гетерогенных суперкомпьютерах [Электронный ресурс] / Б. А. Корнеев, В. Д. Левченко // Тезисы 58-й научной конференции МФТИ. — М.: МФТИ, 2015. — 1с. — Режим доступа: http://conf58.mipt.ru/static/reports_pdf/1231.pdf. — (Дата обращения: 12.01.2019).
50. Корнеев, Б. А. Алгоритм DiamondTorre для моделирования задач распространения ударных волн в неоднородных газовых средах в трехмерной постановке на мультипроцессорных гетерогенных компьютерах [Электронный ресурс] / Б. А. Корнеев, В. Д. Левченко // Тезисы 59-й научной конференции МФТИ. — М.: МФТИ, 2016. — 1с. — Режим доступа: http://conf59.mipt.ru/ static/reports_pdf/2639.pdf. — (Дата обращения: 12.01.2019).
51. Корнеев, Б. А. Моделирование динамики газа в процессе лазерного плавления металлической поверхности с помощью разрывного метода Галёркина на графических ускорителях / Б. А. Корнеев, В. Д. Левченко // Труды 60-й Всероссийской научной конференции МФТИ. Прикладная математика и информатика. — М.: МФТИ (ГУ), 2017. — С. 145—146.
52. Корнеев, Б. А. Эффективное моделирование трехмерных задач газовой динамики с помощью численного метода RKDG на примере задачи о взаимодействии пузырька с ударной волной / Б. А. Корнеев, В. Д. Левченко // XX Всероссийская конференция Молодежная школа-конференция «Теоретические основы и конструирование численных алгоритмов для решения задач математической физики», посвященная памяти К.И. Бабенко. — ИПМ им. М. В. Келдыша РАН, 2014. — С. 71—72.
53. Korneev, B. A. NUMERICAL INVESTIGATION OF NONAXISYMMETRIC INSTABILITY GROWTH IN THE 3D BUBBLE-SHOCK INTERACTION PROBLEM / B. A. Korneev, V. D. Levchenko // Japan-Russia Workshop "Su-percomuter modeling, instability and turbulence in fluid dynamics". — Keldysh Institute RAS, 2015. — P. 20.
54. Корнеев, Б. А. DTG: алгоритм и программный комплекс для расчёта сверхбольших задач газовой динамики в трёхмерной постановке на гетерогенных (супер)компьютерах [Электронный ресурс] / Б. А. Корнеев, В. Д. Левченко // Национальный Суперкомпьютерный Форум. — Переславль-Залесский, 2015. — 11 с. — Режим доступа: http : / / 2015 . nscf . ru / TesisAll / 7 _ Supercomputerniy_enginiring/03_505_KorneevBA.pdf. — (Дата обращения: 12.01.2019).
55. Korneev, B. A. DiamondTorre algorithm for large-scale fluid dynamics modeling [Электронный ресурс] / B. A. Korneev, V. D. Levchenko // International Conference "Supercomputer Simulations in Science and Engineering". —
Moscow, 2016. — 1c. — Режим доступа: http://ssse2016.ac.ru/posters.html. — (Дата обращения: 12.01.2019).
56. Седов, Л. И. Введение в механику сплошной среды / Л. И. Седов. — Гос. изд-во физико-математической лит-ры, 1962.
57. Прандтль, Л. Гидроаэромеханика / Л. Прандтль. — 2000.
58. Бэтчелор, Д. Введение в динамику жидкости / Д. Бэтчелор. — Ижевск: НИЦ «Регулярная и хаотическая динамика», 2004.
59. Куликовский, А. Г. Математические вопросы численного решения гиперболических систем уравнений. Т. 607 / А. Г. Куликовский, Н. В. Погорелов, А. Ю. Семенов. — Физматлит М., 2001.
60. Tezduyar, T. Interface-tracking and interface-capturing techniques for computation of moving boundaries and interfaces / T. Tezduyar // Proceedings of the Fifth World Congress on Computational Mechanics, On-line publication: http://wccm. tuwien. ac. at/, Paper-ID. Vol. 81513. — 2002.
61. Hirt, C. W. Volume of fluid (VOF) method for the dynamics of free boundaries / C. W. Hirt, B. D. Nichols // Journal of computational physics. — 1981. — Vol. 39, no. 1. — P. 201—225.
62. Sethian, J. A. Level set methods and fast marching methods: evolving interfaces in computational geometry, fluid mechanics, computer vision, and materials science. Vol. 3 / J. A. Sethian. — Cambridge university press, 1999.
63. Abgrall, R. How to prevent pressure oscillations in multicomponent flow calcu-lations~: a quasi conservative approach : PhD thesis / Abgrall Rémi. — INRIA, 1994.
64. Cockburn, B. The local discontinuous Galerkin method for time-dependent convection-diffusion systems / B. Cockburn, C.-W. Shu // SIAM Journal on Numerical Analysis. — 1998. — Vol. 35, no. 6. — P. 2440—2463.
65. Toro, E. Riemann Solvers And Numerical Methods for Fluid Dynamics: A Practical Introduction / E. Toro. — Springer, 2009.
66. Rusanov, V. V. The calculation of the interaction of non-stationary shock waves with barriers / V. V. Rusanov // Zhurnal Vychislitel'noi Matematiki i Matematich-eskoi Fiziki. — 1961. — Vol. 1, no. 2. — P. 267—279.
67. Toro, E. F. Restoration of the contact surface in the HLL-Riemann solver / E. F. Toro, M. Spruce, W. Speares // Shock waves. — 1994. — Vol. 4, no. 1. — P. 25--34.
68. Bassi, F. A high-order accurate discontinuous finite element method for the numerical solution of the compressible Navier-Stokes equations / F. Bassi, S. Re-bay // Journal of computational physics. —1997. — Vol. 131, no. 2. — P. 267—279.
69. Крылов, В. Вычислительные методы / В. Крылов, В. Бобков, П. Монастыр-ный. — Наука, 1976.
70. Roe, P. L. Characteristic-based schemes for the Euler equations / P. L. Roe // Annual review of fluid mechanics. — 1986. — Vol. 18, no. 1. — P. 337—365.
71. Krivodonova, L. Limiters for high-order discontinuous Galerkin methods / L. Krivodonova // Journal of Computational Physics. — 2007. — Vol. 226, no. 1. — P. 879—896.
72. RKDG Methods with WENO Type Limiters and Conservative Interfacial Procedure for One-dimensional Compressible Multi-medium Flow Simulations / J. Zhu [et al.] // Appl. Numer. Math. — 2011. — Vol. 61, no. 4. — P. 554—580.
73. Runge-Kutta discontinuous Galerkin method with a simple and compact Hermite WENO limiter / J. Zhu [et al.] // Communications in Computational Physics. — 2016. — Vol. 19, no. 4. — P. 944—969.
74. Runge-Kutta Discontinuous Galerkin Method with a Simple and Compact Hermite WENO Limiter on Unstructured Meshes / J. Zhu [et al.] // Communications in Computational Physics. — 2017. — Vol. 21, no. 3. — P. 623—649.
75. Moe, S. A. A simple and effective high-order shock-capturing limiter for discontinuous Galerkin methods / S. A. Moe, J. A. Rossmanith, D. C. Seal // arXiv preprint arXiv:1507.03024. — 2015.
76. Ladonkina, M. Impact of different limiting functions on the order of solution obtained by RKDG / M. Ladonkina, O. Neklyudova, V. Tishkin // Mathematical Models and Computer Simulations. — 2013. — Vol. 5, no. 4. — P. 346—349.
77. On the Accuracy of the Discontinuous Galerkin Method in Calculation of Shock Waves / M. Ladonkina [et al.] // Computational Mathematics and Mathematical Physics. — 2018. — Vol. 58, no. 8. — P. 1344—1353.
78. Gottlieb, S. Total variation diminishing Runge-Kutta schemes / S. Gottlieb, C.-W. Shu // Mathematics of Computation of the American Mathematical Society. — 1998. — Vol. 67, no. 221. - P. 73—85.
79. Левченко, В. Алгоритмы семейства DiamondTile для эффективного волнового моделирования на GPGPU / В. Левченко // Научный сервис в сети Интернет: многообразие суперкомпьютерных миров. — 2014. — С. 41—44.
80. Иванов, А. В. Библиотека aiwlib — инструмент для создания приложений численного моделирования, визуализации и анализа результатов / А. В. Иванов, С. А. Хилков // Научная визуализация. — 2018. — Т. 10, № 1. — С. 110—127.
81. Levchenko, V. Interactive FDTD simulation using LRnLA algorithms / V. Levchenko, I. Goryachev, A. Perepelkina // Progress in Electromagnetics Research Symposium Abstracts; The Electromagnetics Academy: Cambridge, MA, USA. — 2013.
82. Sobell, M. G. A practical guide to Linux commands, editors, and shell programming / M. G. Sobell, M. Helmke. — Prentice Hall Professional Technical Reference, 2005.
83. Галанин, М. Решение задач газовой динамики с ударными волнами RKDG-методом / М. Галанин, Е. Б. Савенков, С. А. Токарева // Матем. моделирование. — 2008. — Т. 20:11. — С. 55—56.
84. Vegt, J. J. van der. Slip flow boundary conditions in discontinuous Galerkin discretizations of the Euler equations of gas dynamics / J. J. van der Vegt, H. van der Ven // Proceedings of the 5th World Congress on Computational Mechanics (WCCM V). — National Aerospace Laboratory, NLR. 2002.
85. Kraposhin, M. Adaptation of Kurganov-Tadmor Numerical Scheme for Applying in Combination with the PISO Method in Numerical Simulation of Flows in a Wide Range of Mach Numbers / M. Kraposhin, A. Bovtrikova, S. Strijhak // Procedia Computer Science. — 2015. — Vol. 66. — P. 43—52. — 4th International Young Scientist Conference on Computational Science.
86. Johnson, T. Flow past a sphere up to a Reynolds number of 300 / T. Johnson, V. Patel // Journal of Fluid Mechanics. — 1999. — Vol. 378. — P. 19—70.
87. Direct numerical simulation of flow around a heated/cooled isolated sphere up to a Reynolds number of 300 under subsonic to supersonic conditions / T. Nagata [et al.] // International Journal of Heat and Mass Transfer. — 2018. — Vol. 120. — P. 284--299.
88. Реализация граничных условий прилипания для разрывного метода Га-леркина / М. Е. Ладонкина [и др.] // Препринты Института прикладной математики им. МВ Келдыша РАН. — 2014. — № 0. — С. 32—16.
89. Henderson, C. B. Drag coefficients of spheres in continuum and rarefied flows / C. B. Henderson // AIAA journal. — 1976. — Vol. 14, no. 6. — P. 707—708.
90. Rybakin, B. The supersonic shock wave interaction with low-density gas bubble / B. Rybakin, V. Goryachev // Acta Astronautica. — United Kingdom, 2014. — Vol. 94, no. 2. — P. 749—753.
91. Rybakin, B. Modeling of density stratification and filamentous structure formation in molecular clouds after shock wave collision / B. Rybakin, V. Goryachev // Computers and Fluids. — United Kingdom, 2018. — Vol. 173. — P. 189—194.
92. A computational parameter study for the three-dimensional shock-bubble interaction / J. H. Niederhaus [et al.] // Journal of Fluid Mechanics. — 2008. — Vol. 594. — P. 85--124.
93. Prandtl, L. Essentials of fluid dynamics: with applications to hydraulics, aeronautics, meteorology and other subjets / L. Prandtl. — 1953.
94. Krzeczkowski, S. A. Measurement of liquid droplet disintegration mechanisms / S. A. Krzeczkowski // International Journal of Multiphase Flow. —1980. — Vol. 6, no. 3. — P. 227—239.
95. Zaleski, S. Two-dimensional Navier-Stokes simulation of deformation and breakup of liquid patches / S. Zaleski, J. Li, S. Succi // Physical review letters. — 1995. — Vol. 75, no. 2. — P. 244.
96. Xiao, F. Large eddy simulation of single droplet and liquid jet primary breakup using a coupled level set/volume of fluid method / F. Xiao, M. Dianat, J. J. McGuirk // Atomization and Sprays. — 2014. — Vol. 24, no. 4.
97. Secondary breakup of a drop at moderate Weber numbers / M. Jain [et al.] // Proc. R. Soc. A. — 2015. — Vol. 471, no. 2177. — P. 20140930.
98. Taylor, G. The shape and acceleration of a drop in a high speed air stream / G. Taylor // The scientific papers of GI Taylor. — 1963. — Vol. 3. — P. 457—464.
99. Hinze, J. Fundamentals of the hydrodynamic mechanism of splitting in dispersion processes / J. Hinze // AIChE Journal. — 1955. — Vol. 1, no. 3. — P. 289—295.
Список рисунков
1 Графы зависимостей в поперечном сечении: а — вычисление потоков, б — потоки и стадия Рунге-Кутты, в — процедура ограничителя; г — граф зависимостей вычисления одного шага по времени для одной ячейки. Ребра графа есть данные, вершины — совершаемые операции...........................20
2 Алгоритм DiamondTorre: а — отображение в плоскости т£, б — отображение в плоскости ту, в — окно вычислений в плоскости ту . . 22
3 Зависимость производительности программы для различных вычислительных устройств в зависимости от высоты башни ЫТ. По оси т отложена высота башни и соответствующий ей объем памяти в окне вычислений...............................27
4 Зависимость производительности от Ых..................28
5 Производительность солвера для различных видеокарт..........29
6 Тест 1, момент времени £ = 0.25, то = 0.4.................31
7 Тест 2, момент времени £ = 0.15, т0 = 0.5.................32
8 Тест 3, момент времени £ = 0.012, т0 = 0.6................32
9 Тест 4, момент времени £ = 0.035, т0 = 0.4................33
10 Результаты теста 1 (задача Лакса); решение в момент времени £ = 1.3 . 34
11 Результаты теста 2 (задача Сода); решение в момент времени £ = 2.0 . 34
12 Линии уровня плотности в задаче об обтекании клина. Моменты времени £ = 0.01, £ = 0.05, £ = 0.1 ...£ = 0.25 ..............35
13 Поле плотности в задаче о течении газа в канале со ступенькой, моменты времени а: £ = 1.0, б: £ = 2.0, ... е: £ = 6.0...........37
14 Решение сферической задачи Сода. а — вид области в начальный момент времени, б — радиальное распределение плотности в
момент времени £ = 0.25 ....................................................37
15 Поле скорости для а Яв = 16, б Яв = 32, ..., е Яв = 512.........39
16 Коэффициент сопротивления в зависимости от числа Рейнольдса. ... 40
17 Поле скорости при обтекании а М = 0.8, Яв = 100, б
М = 2.0, Яв = 300 ............................. 41
18 Коэффициент сопротивления в зависимости от числа Рейнольдса для М=0.8иМ=2.0................................42
19 Вычислительная область в начальный момент времени.........44
20 Плотность в различные моменты времени: а £ = 0.23, б £ = 0.45, в
£ = 1.36, г £ = 1.78, д £ = 2.23, е £ = 2.67 .................45
21 Рендеринг распределения доли Не, изначально собранного в пузырьке в различные моменты времени: а £ = 0.0, б £ = 0.6,
.. .д £ = 3.0, е £ = 3.6; сетка 600 х 300 х 300 ................ 46
22 Завихренность (сверху) и плотность (внизу) в различные моменты времени: а £ = 0.15, б £ = 0.3, в £ = 0.45, г £ = 0.6, д £ = 0.75, е
£ = 0.9, ж £ = 1.05, и £ = 2.1, к £ = 3.6, л £ = 4.65, м £ = 7.2........47
23 Рендеринг распределения доли фреона Я12, изначально собранного в пузырьке в различные моменты времени: а £ = 0.0, б £ = 1.0,
в £ = 2.0, г £ = 3.0, д £ = 4.0; сетка 600 х 300 х 300 ......................48
24 Вид начального условия с возмущением .................48
25 Форма пузырька после прохода ударной волны 0=1.8) .........49
26 Эволюция мод во времени, £ е [0.0,2.5] слева, £ е [0.0,0.3] справа ... 50
27 Инкремент I(т) моды в зависимости от ее номера т..........51
28 Распределение средних амплитуд мод Q(k,£) в два момента времени:
£ = 0 (красным) и £ = 0.275 (зеленым) ..................52
29 Динамика мод в плоскости х — £: т = 8 пертурбация задана в начальный момент времени, показано распределение различных мод (т = 8,16,24) в зависимости от х в моменты времени
£ = 0.0, 0.35, 1.1, 1.9, черная линия указывает положение фронта ударной волны ................................ 52
30 Режимы распада капли в зависимости от числа Вебера..........53
31 Моделирование распада капли для различных Wе. Красным цветом указана поверхность жидкости.......................54
32 3D визуализация процесса плавления металлической пластинки движущимся сфокусированным пучком энергии (лазером) ....... 55
33 Распределение ^ компоненты скорости над пучком энергии.......56
Список таблиц
1 Начальные условия для тестовых задач Римана..............30
2 Начальные условия для тестовых задач двухкомпонентной модели ... 35
3 Параметры Lshock и xs при обтекании с различными числами M и Re . 41
Приложение А Документация программного комплекса DTG
А.1 Алфавитный указатель классов
А.1.1 Классы
Классы с их кратким описанием.
model............................................................................73
А.2 Список файлов А.2.1 Файлы
Полный список файлов.
3D_fluxes.cuh ..................................................................91
array_out.cpp....................................................................96
dump.cpp........................................................................97
fluxes.cuh........................................................................100
init.cu............................................................................104
rkdg.cuh ........................................................................106
run_1.cu ........................................................................108
run_from_dump.cu..............................................................111
А.3 Классы
А.3.1 Структура model
Граф связей класса model:
float cell_main * fluxes * cell_main ** int
+Nx +Ny +it
mode_number
+NT +arr number
+ init()
+ dump_init() + dump_out() + flux_calc_X1() + flux_calc_Y1() + flux_calc_Z1() + flux_calc_X2() + flux_calc_Y2() + flux_calc_Z2() + calcl () + calc2() + limitl 2() + limitl () + limit2() + torre_calc() + GPU_init() + CopyIn() + CopyBetween() + CopyOut()
Открытые члены
- void init (int)
- void dump_init (char *)
- void dump_out (char *)
- _device_void flux_calc_X1 (int I, int J, int K, int I_flux, int dn)
- _device_void flux_calc_Y1 (int I, int J, int K, int I_flux, int dn)
- _device_void flux_calc_Z1 (int I, int J, int K, int I_flux, int dn)
- _device_void flux_calc_X2 (int I, int J, int K, int I_flux, int dn)
- _device_void flux_calc_Y2 (int I, int J, int K, int I_flux, int dn)
- _device_void flux_calc_Z2 (int I, int J, int K, int I_flux, int dn)
-_device_void calcl (int I, int J, int K, int dn)
-_device_void calc2 (int I, int J, int K, int dn)
-_device_void limit12 (int I, int J, int K, int stage, int dn)
-_device_void limitl (int I, int J, int K, int dn)
- _device_void limit2 (int I, int J, int K, int dn)
-_device_void torre_calc (int I, int J, int dn)
- void GPU_init ()
- void CopyIn (int I)
- void CopyBetween (int I, int d2, int d1)
- void CopyOut (int i0)
Открытые атрибуты
- int Nx
- int Ny
- float L
- float h
- float tau
- float CFL
- float t
- int it
- int NT
- int arr_number
- float gamma
- cell_main ** grid_main
- cell_main * temp_grid [GPUs]
- cell_main * grid_RK1_L2 [GPUs]
- cell_main * grid_L1 [GPUs]
- fluxes * FLXS [GPUs]
- float phi0_int
- float phiX [8]
- float phiY [8]
- float phiZ [8]
- float phiXYZ_int
- float phiXYZ_int2
- float PHI_LIMIT
- int mode_number
Методы
init() void model::init ( int numprocs )
Перекрестные ссылки Sph_coef(). Граф вызовов:
model::init
Sph_coef
model::init main
dump_init() void model::dump_init ( char * )
dump_0ut() void model::dump_out ( char * )
flux_calc_X1() _device_ void model::flux_calc_X1 (
int I,
int J,
int K,
int I_flux,
int dn ) [inline]
Перекрестные ссылки dn, flux(), HLLC_flux_X() и mod(). Граф вызовов:
model::flux calc X1
model: :torre calc
flux_calc_Y1() _device_ void model::flux_calc_Y1 (
int I,
int J,
int K,
int I_flux,
int dn ) [inline]
Перекрестные ссылки dn, flux(), HLLC_flux_Y() и mod().
Граф вызовов:
Граф вызова функции:
model::flux calc Y1
model::torre calc
flux_calc_Z1() _device_ void model::flux_calc_Z1 (
int I,
int J,
int K,
int I_flux,
int dn ) [inline]
Перекрестные ссылки dn, flux(), FZ_edge, HLLC_flux_Z() и mod().
Граф вызовов:
Граф вызова функции:
model::flux calc Z1
model::torre calc
flux_calc_X2() _device_ void model::flux_calc_X2 (
int I, int J, int K,
int I_flux,
int dn ) [inline]
Перекрестные ссылки dn, flux(), HLLC_flux_X() и mod(). Граф вызовов:
Граф вызова функции:
model::flux calc X2
model::torre calc
flux_calc_Y2() _device_ void model::flux_calc_Y2 (
int I,
int J,
int K,
int I_flux,
int dn ) [inline]
Перекрестные ссылки dn, flux(), HLLC_flux_Y() и mod().
Граф вызова функции:
flux_calc_Z2() _device_ void model::flux_calc_Z2 (
int I, int J, int K, int I_flux,
int dn ) [inline]
Перекрестные ссылки dn, flux(), FZ_edge, HLLC_flux_Z() и mod().
Граф вызова функции:
model::flux calc Z2
model: :torre calc
calc1() _device_ void model::calc1 (
int I, int J, int K,
int dn ) [inline]
Перекрестные ссылки dn, flux(), FZ_edge и mod().
Граф вызова функции:
model::calc1
model::torre calc
calc2() _device_ void model::calc2 (
int I, int J, int K,
int dn ) [inline]
Перекрестные ссылки dn, flux(), FZ_edge и mod(). Граф вызовов:
model::calc2
model::torre calc
limit12() _device_ void model::limit12 (
int I,
int J,
int K,
int stage,
int dn ) [inline]
Перекрестные ссылки dn, Hmiter() и mod().
Граф вызовов:
Граф вызова функции:
model::limit12
model::torre calc
limit1() _device_ void model::limit1 (
int I, int J, int K,
int dn ) [inline]
Перекрестные ссылки char_calc(), dn, Hmiter() и mod(). Граф вызовов:
limit2() _device_ void model::limit2 (
int I, int J, int K,
int dn ) [inline]
Перекрестные ссылки char_calc(), dn, limiter() и mod().
t0rre_calc() _device_ void model::torre_calc (
int I, int J,
int dn ) [inline]
Перекрестные ссылки calc1(), calc2(), flux_calc_X1(), flux_calc_X2(), flux_calc_Y1(), flux_calc_Y2(), flux_calc_Z1(), flux_calc_Z2(), limit12(), mod() и NT.
GPU_init() void model::GPU_init ( ) [inline] Граф вызова функции:
model::GPU init
main
CopyIn() void model::Copyln (
int I ) [inline]
Перекрестные ссылки mod(). Граф вызовов:
model::CopyIn
mod
Граф вызова функции:
model::CopyIn
main
CopyBetween() void model::CopyBetween ( int I, int d2,
int dl ) [inline]
Перекрестные ссылки mod(). Граф вызовов:
model::CopyBetween
mod
model::CopyBetween
main
CopyOut() void model::CopyOut ( int i0 ) [inline]
Перекрестные ссылки mod(). Граф вызовов:
model::CopyOut
mod
Граф вызова функции:
model::CopyOut
main
Данные класса
Nx int model::Nx
Ny int model::Ny
L float model::L
h float model::h
tau float model::tau
CFL float model::CFL
t float model::t
it int model::it
NT int model::NT
arr_number int model::arr_number
gamma float model::gamma
grid_main cell_main** model::grid_main
temp_grid cell_main* model::temp_grid[GPUs]
grid_RK1_L2 cell_main* model::grid_RK1_L2[GPUs]
grid_L1 cell_main* model::grid_L1[GPUs]
FLXS fluxes* model::FLXS[GPUs]
phi0_int float model::phi0_int
phiX float model::phiX[8]
phiY float model::phiY[8]
phiZ float model::phiZ[8]
phiXYZ_int float model::phiXYZ_int
phiXYZ_int2 float model::phiXYZ_int2
PHI LIMIT float model::PHI_LIMIT
mode_number int model::mode_number
Объявления и описания членов структур находятся в файлах:
- rkdg.cuh
- тк.си
А.4 Файлы
А.4.1 Файл 3D fluxes.cuh
#include "rkdg.hpp" Граф включаемых заголовочных файлов для 3D_fluxes.cuh:
Эй Аихев.сиИ
гкс1д^рр math.h
Граф файлов, в которые включается этот файл:
Макросы
- #define ddfluxes_hpp
Функции
-_device_void flux (float *U, float gamma, float *F, int axe)
- _device_void HLLC_flux_X (float *UL, float *UR, float *FL, float *FR,
float gamma, float *F)
- _device_void HLLC_flux_Y (float *UL, float *UR, float *FL, float *FR,
float gamma, float *F)
- _device_void HLLC_flux_Z (float *UL, float *UR, float *FL, float *FR,
float gamma, float *F)
Макросы
ddfluxes_hpp #define ddfluxes_hpp
Функции
flux() _device_ void flux (
float * U, float gamma, float * F,
int axe ) [inline]
HLLC_flux_X() _device_ void HLLC_flux_X (
float * UL,
float * UR,
float * FL,
float * FR,
float gamma,
float * F ) [inline]
HLLC_flux_Y() _device_ void HLLC_flux_Y (
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.