Введение
1 Параллельная технология численного моделирования задач газовой динамики алгоритмами повышенной точности 16
1.1 Параллельная модель и средства разработки 19
1.1.1 Выбор средств разработки 19
1.1.2 Декомпозиция расчётной области 21
1.2 Представление алгоритма в виде базовых операций 23
1.2.1 Тестовая оболочка для операций 23
1.2.2 Примеры разложения на базовые операции 24
1.3 Распараллеливание с распределённой памятью и обмен данными 26
1.3.1 Построение схемы обмена данными 26
1.3.2 Обмен данными одновременно с вычислениями 27
1.4 Распараллеливание с общей памятью 29
1.4.1 Многоуровневая декомпозиция 29
1.4.2 Оптимизация доступа к оперативной памяти 31
1.5 Адаптация к потоковой обработке 32
1.5.1 Устранение зависимости по данным 33
1.5.2 Оптимизация доступа к памяти ускорителя 33
1.5.3 Оптимизация под архитектуру ускорителя 34
1.6 Эффективное проведение вычислительного эксперимента 36
1.6.1 Постановка вычислительного эксперимента 36
1.6.2 Выполнение вычислительного эксперимента 39
1.6.3 Контроль и автоматическое управление параметрами расчёта 41
1.6.4 Статистика течения 43
1.6.5 Динамические данные 44
1.7 Выбор конфигурации распараллеливания 45
1.7.1 Выбор количества вычислительных ресурсов 45
1.7.2 Двухуровневое MPI+OpenMP распараллеливание 45
1.7.3 Гибридные вычисления на массивно-параллельных ускорителях
2 Параллельный алгоритм повышенной точности для расчётов задач аэродинамики и аэроакустики на неструктурированных сетках 49
2.1 Математическая модель и численный метод 50
2.1.1 Уравнения Навье-Стокса 50
2.1.2 Конечно-объёмная пространственная дискретизация 51
2.1.3 Определение конвективного численного потока 53
2.1.4 Определение вязкого численного потока 55
2.1.5 Определение потоков на границе расчётной области 56
2.1.6 Дискретизация по времени 56
2.1.7 Моделирование турбулентности 59
2.2 Распараллеливание базовых операций 60
2.2.1 Состав расчётной области 60
2.2.2 Типы операций, входных и выходных данных 61
2.2.3 Базовые операции 62
2.3 Вычислительный алгоритм 66
2.3.1 Инициализация вычислений 66
2.3.2 Алгоритм интегрирования по времени 67
2.3.3 Мультисистемный решатель СЛАУ для мелкоблочных разреженных матриц 69
3 Параллельный программный комплекс NOISETTE для крупномасштабных расчётов задач аэродинамики и аэроакустики на неструктурированных сетках 72
3.1 Математические модели и численная реализация 77
3.1.1 Математические модели 77
3.1.2 Численная реализация 79
3.2 Особенности программной реализации и процесса разработки 83
3.2.1 Требования к программному комплексу 83
3.2.2 Особенности программной архитектуры 84
3.2.3 Среда разработки 85
3.3 Средства препроцессора 86
3.3.1 Структура 86
3.3.2 Построение сетки 87
3.3.3 Декомпозиция расчётной области 88
3.4 Структура вычислительного ядра 88
3.4.1 Основные вычислительные модули 88
3.4.2 Инфраструктура вычислительного ядра 3.5 Средства постпроцессора 91
3.6 Представление данных расчётной области 92
3.7 Параллельные вычисления 94
3.7.1 Распараллеливание MPI+OpenMP 94 3.7.2 Производительность вычислений и параллельная эффективность 95
3.8 Приложения 97
3.8.1 Область применения 97
3.8.2 Верификация и валидация 97
3.8.3 Исследовательские расчёты 98
4 Параллельный решатель уравнения Пуассона для моделирования несжимаемых турбулентных течений на десятках тысяч процессоров и на гибридных системах 104
4.1 Математическая модель и численный метод 106
4.1.1 Дискретизация по времени 107
4.1.2 Дискретизация по пространству 108
4.2 Метод решения уравнения Пуассона 109
4.2.1 Ограничения MPI распараллеливания 112
4.3 Двухуровневое MPI+OpenMP распараллеливание 113
4.3.1 Подробности распараллеливания с общей памятью 114
4.4 Расширение масштабируемости за счёт симметрии расчётной области 116
4.5 Расширение для полностью трёхмерных задач
4.5.1 Расширение применимости 117
4.5.2 Алгоритм многосеточного расширения 118
4.5.3 Решение на втором уровне 119
4.5.4 Сходимость и производительность 121
4.6 Общий алгоритм шага интегрирования по времени 122
4.6.1 Параллельная эффективность с MPI+OpenMP 124
4.6.2 Оценка эффективного диапазона числа процессоров 128
5 Параллельный программный комплекс STG-CFD&HT для крупномасштабных расчётов несжимаемых турбулентных течений 130
5.1 Математическая модель и численная реализация 133
5.2 Структура программного комплекса
5.2.1 Средства разработки и требования к коду 133
5.2.2 Инфраструктура препроцессора 134
5.2.3 Структура вычислительного ядра 134
5.2.4 Средства обработки результатов расчёта - постпроцессор 135
5.3 Особенности программной реализации 136
5.3.1 Представление данных расчётной области 136
5.4 Реализация базовых операций 139
5.4.1 Линейный оператор - ТІ 139
5.4.2 Нелинейный оператор - Т2 141
5.4.3 Линейная комбинация - ТЗ 142 5.4.4 БПФ - Т4 143
5.4.5 Матрично-векторное произведение - Т4 143
5.4.6 Скалярное произведение - Т6 145
5.4.7 Операции решателя Пуассона 145
5.5 Производительность базовых операций 146
6 Крупномасштабные расчёты турбулентных течений 151
6.1 Дозвуковое турбулентное обтекание тандема цилиндров с квадратным сечением 151
6.1.1 Постановка задачи 151
6.1.2 Осреднённая по времени статистика течения 153
6.1.3 Мгновенные поля течения 158
6.1.4 Спектры пульсаций поверхностного давления 160
6.1.5 Акустика в дальнем поле 161
6.2 DNS течения в каверне с вертикальными разнонагретыми стенками с соотношением высоты к ширине 5:1 164
6.2.1 Постановка задачи 164
6.2.2 Верификация расчёта 166
6.2.3 Результаты расчёта 168
6.3 DNS падающей на плоскую пластину струи 169
6.3.1 Постановка задачи 169
6.3.2 Верификация расчёта 171
6.3.3 Результаты расчёта 174
6.4 DNS течения вокруг квадратного цилиндра 178
6.4.1 Постановка задачи 178
6.4.2 Верификация расчёта 178
6.4.3 Результаты расчёта 180
6.5 DNS течения в квадратной трубе 186
6.5.1 Постановка задачи 186
6.5.2 Результаты расчёта 187
6.6 DNS течения вокруг куба, вмонтированного в стену канала 190
6.6.1 Постановка задачи 190
6.6.2 Результаты расчёта 191
6.7 Демонстрационные DNS расчёты течений при естественной конвекции 194
6.7.1 DNS течения в закрытой каверне с разнонагретыми стенками 194
6.7.2 DNS конвекции Рэлея-Бенара 195
Заключение 200
Литература
201 Список рисунков 218
Список таблиц 2


