ПАРАЛЛЕЛЬНОЕ И РАСПРЕДЕЛЕННОЕ ПРОГРАММИРОВАНИЕ, ГРИД-ТЕХНОЛОГИИ, ПРОГРАММИРОВАНИЕ НА ГРАФИЧЕСКИХ ПРОЦЕССОРАХ / PARALLEL AND DISTRIBUTED PROGRAMMING, GRID TECHNOLOGIES, PROGRAMMING ON GPUS
УДК 519.63
DOI: 10.25559^тТО.16.202002.321-330
Метод погруженной границы с использованием фиктивных ячеек в трехмерной постановке
А. А. Рыбаков
ФГУ «Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук», г. Москва, Россия 117218, Россия, г. Москва, пр. Нахимовский, д. 36, корп. 1 rybakov@jscc.ru
Аннотация
При численном решении задач газовой динамики часто приходится сталкиваться с трудностями при обработке областей со сложной геометрией. Создание согласованных расчетных сеток для таких областей может быть крайне трудозатратной задачей. Применение метода погруженной границы помогает избежать данных проблем. Использование этого метода делает возможным проведение расчетов для тел со сложной геометрией даже с применением структурированных декартовых сеток. В данной статье рассматривается подход к реализации метода погруженной границы с использованием фиктивных ячеек, то есть таких ячеек, в которых требуется вычисление газодинамических величин только для того, чтобы провести расчеты для соседних ячеек сетки. Обычно данные фиктивные ячейки не относятся к расчетной области, они могут находиться полностью или практически полностью внутри обтекаемого тела. Расчет газодинамических параметров для фиктивных ячеек в трехмерном случае выполняется с помощью аппроксимации с использованием данных близлежащих ячеек расчетной области, а также с учетом приближения граничных условий. В данной статье при расчете обтекания тела рассматривается граничное условие Неймана. В статье приведены формулы для расчета скалярных и векторных газодинамических характеристик фиктивной ячейки на базе трех точек в пространстве с известными характеристиками и одной точки поверхности обтекаемого тела, в которой выполняется аппроксимация граничного условия. Описанный подход верифицировался в трехмерном случае, в котором расчетная область представлена прямоугольной равномерной декартовой сеткой, а обтекаемое тело описывается неструктурированной поверхностной сеткой, ячейки которой являются треугольниками.
Ключевые слова: метод погруженной границы, обтекание тел со сложной геометрией, фиктивные ячейки, аппроксимация скалярных и векторных величин.
Финансирование: настоящая работа выполнена в Межведомственном суперкомпьютерном центре Российской академии наук - филиале ФГУ «Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук» в рамках государственного задания по теме 0065-2019-0016. Разработанные в рамках данной работы программные коды были использованы для запусков на суперкомпьютере МВС-10П, находящемся в МСЦ РАН.
Для цитирования: Рыбаков, А. А. Метод погруженной границы с использованием фиктивных ячеек в трехмерной постановке / А. А. Рыбаков. - DOI 10.25559/ SITITO.16.202002.321-330 // Современные информационные технологии и ИТ-образование. -2020. - Т. 16, № 2. - С. 321-330.
© Рыбаков А. А., 2020
Контент доступен под лицензией Creative Commons Attribution 4.0 License. The content is available under Creative Commons Attribution 4.0 License.
Vol. 16, No. 2. 2020 ISSN 2411-1473 sitito.cs.msu.ru
Modern Information Technologies and IT-Education
PARALLEL AND DISTRIBUTED PROGRAMMING, GRID TECHNOLOGIES, PROGRAMMING ON GPUS
Immersed Boundary Method Using Ghost Cells in a Three-Dimensional Case
A. A. Rybakov
Scientific Research Institute for System Analysis of the Russian Academy of Sciences, Moscow, Russia
36/1 Nakhimovsky Ave., Moscow 117218, Russia
rybakov@jscc.ru
When solving numerically gas dynamics problems, one often encounters difficulties in processing regions with complex geometry. Generating consistent computational grids for such areas may be a complex task. The immersed boundary method avoids these problems. The use of this method makes it possible to carry out calculations for bodies with complex geometry, even using structured Cartesian grids. This article discusses an approach to the implementation of the immersed boundary method using ghost cells, that is, those cells in which the calculation of gas-dynamic quantities is required only in order to carry out calculations for neighboring grid cells. Usually these ghost cells do not belong to the computational domain; they can be located completely or almost completely inside the streamlined object. The calculation of gas-dynamic parameters for ghost cells in the three-dimensional case is performed using approximation using data from nearby cells of the computational grid, as well as taking into account the approximation of the boundary conditions. In this article, when calculating the flow around a body, the Neumann boundary condition is considered. The article presents formulas for calculating the scalar and vector gas-dynamic characteristics of a ghost cell based on three points in space with known characteristics and one point on the surface of the streamlined object, at which the boundary condition is approximated. The described approach was verified in the three-dimensional case, in which the computational domain is represented by a rectangular uniform Cartesian grid, and the streamlined object is described by an unstructured surface grid, the cells of which are triangles.
Keywords: immersed boundary method, flow around bodies with complex geometry, ghost cells, approximation of scalar and vector quantities.
Funding: This work was carried out at the Interdepartmental Supercomputer Center of the Russian Academy of Sciences in the branch of the Federal State Institution "Federal Scientific Center Research Institute for System Research of the Russian Academy of Sciences" within the framework of the state assignment on topic 0065-2019-0016. The program codes developed within the framework of this work were used for launches on the МВС-10П supercomputer located in the Interdepartmental Supercomputer Center of the Russian Academy of Sciences.
For citation: Rybakov A.A. Immersed Boundary Method Using Ghost Cells in a Three-Dimensional Case. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2020; 16(2):321-330. DOI: https://doi.org/10.25559/SITITO.16.202002.321-330
Abstract
Современные информационные технологии и ИТ-образование
Том 16, № 2. 2020 ISSN 2411-1473 sitito.cs.msu.ru
PARALLEL AND DISTRIBUTED PROGRAMMING, GRID TECHNOLOGIES, PROGRAMMING ON GPUS
Введение
При численном решении задач газовой динамики зачастую приходится сталкиваться с областями, обладающими сложной границей (это касается задач обтекания тел со сложной или изменяемой геометрией или расчета потоков внутри областей неправильной формы) [1,2]. Одним из наиболее ярких примеров проведения расчетов для областей со сложной геометрией является задача формирования ледяного нароста, для которой требуется постоянно пересчитывать аэродинамическое течение в условиях изменения геометрии обтекаемого тела из-за нарастания слоя льда [3-5]. Для таких областей построение согласованной расчетной сетки может быть крайне требовательной по ресурсам задачей (в некоторых случаях проведение расчетов для таких областей возможно только с использованием неструктурированных или гибридных сеток). Альтернативой в данном случае является использование метода погруженной границы [6-8]. Данный метод позволяет использовать для расчетов несогласованную сетку и даже простую декартову сетку [9], что сильно упрощает и ускоряет проведение вычислений. Применение метода погруженной границы позволяет проводить расчеты на простых структурированных сетках [10,11], что также упрощает имплементацию многопоточных вычислений и распараллеливание расчетных задач и балансировку их выполнения на большом количестве вычислительных узлов суперкомпьютерного кластера [12,13]. Единственным тонким моментом метода является выполнение граничных условий на сложной границе, которое достигается путем модификации решаемой системы уравнений [14]. Можно выделить два основных подхода к разрешению граничных условий в методах погруженной границы, различающихся по способу выполнения расчетов на границе: задание граничных условий посредством внешних (источниковых) членов [15] и методы, использующие фиктивные (вспомогательные в расчетах) ячейки [16].
Рассмотрим подробнее метод погруженной границы с использованием фиктивных ячеек [17] на примере задачи обтекания тела со сложной геометрией. Пусть в некоторой области пространства расположено тело, ограниченное сложной границей, представленной неструктурированной поверхностной расчетной сеткой. В охватывающей тело области пространства строится объемная расчетная сетка, ячейки которой разделяются на следующие три основные класса: внешние, внутренние и граничные. Внешними ячейками будем называть те ячейки, которые целиком лежат вне тела. Внутренние ячейки лежат целиком внутри тела, все остальные ячейки пересекают границу тела и являются граничными. В методе фиктивных ячеек из граничных ячеек выделяются ячейки, для которых меньшая часть объема находится вне тела, а большая - внутри тела. Такие ячейки называются фиктивными. Данное разделение является первичным и весьма приближенным, так как после коррекции некоторые внутренние ячейки могут быть также переведены в разряд фиктивных (в процессе проведения вычислений должно выполняться следующее требование: соседями внутренних ячеек не могут являться ни граничные, ни внешние ячейки). На каждой итерации расчетов для фиктивных ячеек требуется выполнить аппроксимацию газодинамических величин (плотность, давление, вектор скорости), чтобы данные фиктивные ячейки могли быть использованы для определения потоков между ними и соседними с ними
граничными и внешними ячейками [18]. Таким образом, классификация ячеек объемной сетки является неотъемлемой частью метода погруженной границы.
Аппроксимация газодинамических параметров фиктивных ячеек выполняется на каждой итерации проведения расчетов, после для всех ячеек расчетной сетки кроме внутренних выполняется пересчет потоков между ячейками с использованием любого конечно-объемного метода. Обработка фиктивных ячеек является основной особенностью рассматриваемого метода, для вычисления газодинамических параметров фиктивных ячеек требуется использование аппроксимации скалярных и векторных величин по данным, взятым из близлежащих точек пространства и поверхности обтекаемого тела. В следующем разделе описаны подходы к аппроксимации, используемые в описываемом методе погруженной границы.
Формулы аппроксимации скалярных и векторных величин в методе погруженной границы
В данном разделе рассматриваются теоретические основы, которые используются при вычислении скалярных и векторных физических величин в фиктивных ячейках расчетной сетки. Сначала рассмотрим формулу линейной аппроксимации скалярной величины по заданным четырем точкам в пространстве. Пусть в пространстве определена скалярная величина ф = ф(х, у, z) как функция от трех координат. Пусть известно значение данной величины в четырех точках пространства:
ф(Х0> Уо> 2о) = %, Фи Уи 2г) = 9 , 9(Х1,У1, = $2 , ф(х3,у3,z3) = ф3. Требуется выполнить линейную аппроксимацию данной величины, то есть найти представление вида ф(х,у,z) = а0 + а1х + а2у + а^, где коэффициенты а0, а1, а2, а3 находятся по известным значениям в четырех точках. Для двумерного случая задача описана в [16], и в трехмерном варианте она выглядит аналогично. Приведем подробное описание задачи для трехмерной постановки. Для нахождения коэффициентов а0, а1, а2, а3 решается следующая система линейных уравнений: а0 + а1х0 + а2 у0 + а3 z0 = (р0
а0 + ах + а2 у1 + а3 z1 =
а0 + а х2 + а2 у2 + а3 z2 = (р2
а0 + а х3 + а2 у3 + а3 z3 = (р3
Данная система уравнений может быть записана в матричной форме в следующем виде:
В(аЩa = ^(0123)
где ф0123\ - это вектор-столбец [ф0,ф1,ф2,ф3] тор-столбец [а0, а1, а2, а3], а матрица Б^щ имеет вид
a - век-
B,
'(0123)
1
Уо У1 У2 Уз
Отсюда можно найти коэффициенты по формуле
а = В{0123) ^(0123) .
Следующим шагом рассмотрим аппроксимацию все той же
Modern Information Technologies and IT-Education
0
1
1
2
ПАРАЛЛЕЛЬНОЕ И РАСПРЕДЕЛЕННОЕ ПРОГРАММИРОВАНИЕ, 324 ГРИД-ТЕХНОЛОГИИ, ПРОГРАММИРОВАНИЕ НА ГРАФИЧЕСКИХ ПРОЦЕССОРАХ А А Рыбаков
скалярной величины ф = ф(х,у, х) с использованием граничного условия Неймана. Только на этот раз пусть известно ее значение только в трех точках: х1, у1, z1) = ф1, ф(х2, у2, z2) = ф2, ф(х3, у3, z3) = р3. Дополнительно в точке (х0, у0, z0) задано условие, соответствующее граничному условию Неймана:
дф , л
— {x0, y0, ^) = ф0 де0
где е0 - некоторое направление (граничное условие Неймана задается как производная по нормали к поверхности обтекаемого тела). При этом будем полагать, что |е0| = 1. Для заданной скалярной величины также требуется выполнить линейную аппроксимацию, то есть найти представление вида р(х, у, z) = а0 + ахх + а2у + а3z. Для двумерного случая задача описана в [16], приведем ее описание в трехмерном случае. Пусть компоненты вектора направления е0 равны е0 х, е0у, е0 2 соответственно. Граничное условие Неймана записывается в следующем виде:
дср , . дер дер дер .
— (х0, у0, г0) = — е0х + — е0 + — е0__ = (р0 ое0 ох су " дг
Так как известен общий вид аппроксимации функции х, у, z) = а0 + а1х + а2 у + а3 z, то и ее частные производные можно выписать в явном виде:
дф _ дф
■ = а.
= а,
В
0 е0, х е0,, е0,г
1 хг У1
1 Х2 У2 22
1 х3 Уз 23
нат. Пусть известны ее значения в трех точках:
V (X], у1г z1) = ^ = |д х, у, у, ^ ] ,
V (x2, ^ г2) = у2 = [у2,х, г2,у, у2>z] , V(х3,у3,z3) = v3 = [V3х,v3y,v3z]. Дополнительно в точке (х0,у0,z0) задано следующее условие: проекция вектора
V = V(х0,у0,z0) на направление е0 равна нулю, а производная составляющей, перпендикулярной данному направлению, по этому направлению также равна нулю. То есть
•о - 'о
^о" II е % 1 =1
Ш = о
дел
=0
2, ^^ = а3. Таким образом, получаем систему
дх ду дz из четырех линейных уравнений:
а1е0, х + а2е0, у + азе0,г =
а0 + а1х1 + а2 у1 + а3 z1 = ф1
а0 + а1 х2 + а2 у2 + а312 = ф2
а0 + а1 х3 + а2 у3 + а3 е3 = ф3 Данная система уравнений может быть записана в матричной форме в следующем виде:
Б(0 123) а = Р<0' 123>
где ф^щ - это вектор-столбец [ф0,ф1,ф2,ф3\ , а - вектор-столбец [а0,а1,а2,а3]г, а матрица Б^щ имеет вид
Требуется определить значение векторной величины в некоторой точке (хв,у0,) то есть = у(хв,у0,). При этом под направлением е0 будем подразумевать некоторую нормаль к поверхности обтекаемого тела, для которого выполняется расчет. Тогда логично называть составляющие вектора и у нормальной и тангенциальной составляющими вектора у соответственно.
Сначала запишем условие равенства нулю нормальной составляющей вектора у0, выражающееся в равенстве нулю скалярного произведения (у0, е0) = 0. Распишем данное произведение покомпонентно:
V А,, + \ уе0, у + v0,ze0, г = 0
Значения v0x, vQy, v0z нам не известны, поэтому выразим их с помощью линейной интерполяции скалярной величины через точки р = (хи уи z1), Р2 = {х^ y2, z2), р3 = (х3, у3, zз),
PG = (XG , УG, ZG )
\х = [1, Х0, Уо, 20]^(СЛ23У(ОЩ,х У0,у = [1, Х0, у0, 20 ]В(СЛ23^ОЩ,у
= [1, Х0, у0, 20 ]В(СЛ23V{GЩ,z
одставляя полученные соотн ражение скалярного произведения (у0, е0) = 0, получим:
Подставляя полученные соотношения для у0х, v0y, v0z в вы-
'(0123)
Отсюда получим выражение для коэффициентов линейной аппроксимации а = 5(0!123ф^щ .
После рассмотрения вопросов, связанных со скалярными величинами, перейдем к векторным физическим величинам. Для двумерного случая вопрос рассмотрен в [18], однако в трехмерном случае задача несколько сложнее. При решении задач обтекания тел со сложной геометрией важнейшим вопросом является вычисление значения скорости в фиктивных ячейках, а скорость является векторной величиной. Итак, рассмотрим векторную величину ^ = К, Уу, ] = [ух (x, ^ г), Уу (x, z), V; (^ г)], которая задана в трехмерном пространстве как функция от трех коорди-
[1, х0, у0, 20]^(СЛ23)
( у " Л
\х 2,х у У2, у V1,z V2,z
е0,х + е0, у + e0,z
V 3,х _ У3.у _ У
= 0
Введем обозначения , dl, d2, d3] = [1, х0,у0, z(j\B-G}l23^|, тогда уравнение может быть переписано в следующем виде:
dG (^,хе0,х + ^,уе0,у + ) + + ¿о) + ео) = 0
Перепишем это уравнение в виде
, гео, г=е
где значение Q может быть вычислено явно следующим образом:
Современные информационные технологии и ИТ-образование
Том 16, № 2. 2020 ^ 2411-1473 sitito.cs.msu.ru
PARALLEL AND DISTRIBUTED PROGRAMMING, GRID TECHNOLOGIES, PROGRAMMING ON GPUS
Q = -
d (vt, e0) + d2 (v2, e0) + d3 (V3, e0)
Условие на тангенциальную составляющую у0т не будем записывать в явном виде. Вместо этого будем работать с проекциями вектора у0 на векторы, лежащие в плоскости, перпендикулярной вектору е0. Так как компоненты вектора ео известны, то можно без труда найти векторы, перпендикулярные ему Это будут, например, следующие векторы: Л = [-е0у, е0х ,0], 7г = [-е0,г ,0, ео,*], /з = [0> -е0,г > ео,у].
Далее запишем выражения для линейной аппроксимации величин ^), 7 ^), ^) через точки Ро, р, Р2, Р3 с учетом граничного условия Неймана:
VG, xe0, v + VG, ve0,x = [1, XG > У G > ZG IBo1
(0'123)
0
-VG,xe0,z + VG,ze0,x = [1, XG > VG > ZG IBo1
(0423)
-V1 xe0, y + V1, Ve0,x
-V2 xe0,y + V2, ye0,x
-v3 xe0,y + 0 V3, ye0,x
-V1 e x 0, z V1,ze0, x
-V2 e„ + x 0,z V e„ 2,z 0,x
-V3 x 0, z V e„ 3,z 0,x
-VG,ye0,z + VG,ze0,y = [1, XG > Vg > ZG
= ß
VG, ie0, y + VG, ye0, x Txy —VG, xe0, z + VG, ze0, x = Txz -VG, ye0,z + VG, ze0, y = Tyz
В матричной форме данная система может быть записана следующим образом:
"0, у
"0, у
0
0
e0, x
e0, у.
yG, у
Q'
T
xy
T
xz
T
'0, y
= 0, ^y = 0 ^ f = 0
= 0, e0,z = 0 ^ f2 = 0
= 0, e0,z = 0 ^ f3 = 0
v=0 ^ f il f2
e>,y = 0 ^ f il /3
e0,z = 0 ^ f2 1 f3
Из результирующей системы уравнений будем исключать то уравнение, в которое входит наименьшая по модулю компонента вектора ео
Запишем это явно. Если наименьшей компонентой вектора ео является е0х, то г П_1
[vG
z Г =
e0,x e0, y e0,z
-e0, y e0,x 0
0 -e0,z e0, y
[Q, Txy, Tyz ] = Ex [Q, Txy, Tyz ]
компонента вектора e0 это e0 или e0z, то
e0, x e0, у e0,z
у e0, x 0
-e0, z 0 e0, x
(ff 123)
В приведенной выше системе уравнений правые части могут быть непосредственно вычислены, обозначим их Ту, Тх2 и Ту2 соответственно и добавим в систему уравнение для выражения (у0, ва). Получим следующую систему:
В приведенной системе 4 уравнения и 3 неизвестных, поэтому одно из трех последних уравнений избыточно. Заметим, что если две компоненты вектора ео равны нулю, то один из векторов Л, Л , Л3 вырождается в нулевой вектор. Если же только одна компонента вектора ео равна нулю, то два из векторов Л, Л2, Лз становятся коллинеарными.
Если наименьшая
[VG,x > VG,у > VG,z Г
Полученные в данном разделе формулы были использованы для аппроксимации скалярных (плотность, давление) и векторных (скорость) физических величин в фиктивных ячейках при реализации метода погруженной границы для обтекания тел со сложной геометрией.
Реализация метода погруженной границы
Первым шагом проведения вычислений с использованием метода погруженной границы является выполнение классификации ячеек объемной сетки. На рис. 1 показана первичная классификация ячеек для двумерного случая. На этапе первичной классификации решается задача нахождения пересечения поверхности обтекаемого тела с ячейками расчетной сетки [19]. Если пересечение зафиксировано, то ячейка получает статус граничной ячейки (показа на рис. 1 серым цветом). Далее выполняется обход ячеек объемной сетки, в ходе которого все оставшиеся ячейки делятся на внешние (целиком находятся вне обтекаемого тела) и на внутренние (целиком находятся внутри обтекаемого тела). На втором этапе классификации ячеек из множества граничных ячеек выделяются фиктивные ячейки - ячейки, большая часть объема которых находится внутри обтекаемого тела. Наконец третий этап классификации ячеек предусматривает коррекцию, в ходе которой внутренние ячейки, имеющие в качестве соседей граничные ячейки, получат статут фиктивных. Таким образом, обеспечивается выполнение требования, что внутренние ячейки не могут контактировать по грани с граничными и, тем более, с внешними ячейками.
На каждой итерации выполнения расчетов для каждой фиктивной ячейки должны быть пересчитаны газодинамические величины на основании данных близлежащих граничных или внешних ячеек (рассматриваются точки, являющиеся центрами таких ячеек), а также точки поверхности обтекаемого тела для аппроксимации граничного условия (для каждой фиктивной ячейки используется ближайшая к ней точка по-
Modern Information Technologies and IT-Education
0
v
G. x
-e
верхности]. Данные точки могут выбираться в некоторой степени произвольно, однако нужно контролировать, чтобы при проведении аппроксимации параметров фиктивных ячеек по формулам, приведенным в предыдущем разделе, никакие матрицы не оказались вырожденными. Набор точек, по которым производится аппроксимация данных для фиктивной ячейки, будем называть шаблоном. Для каждой ячейки существует огромное количество шаблонов даже при использовании простой декартовой расчетной сетки (например, в трехмерном случае общее количество шаблонов для фиктивной ячейки, превышает 1000 штук, даже если рассматривать только ближайших соседей]. При использовании же адаптивных локально-измельчающихся сеток [20-22] количество шаблонов резко возрастает, а для таких сеток применение метода погруженной границы представляет особенный интерес. Многие из этих шаблонов можно не рассматривать изначально (например это шаблоны, в которые попадают внутренние ячейки или другие фиктивные ячейки], другие шаблоны нужно отсеивать по специальным критериям (например, шаблон, в котором точка поверхности обтекаемого тела лежит слишком близко к какой-нибудь другой точке шаблона]. Существуют и другие критерии, по которым шаблон может быть отклонен. Задача выбора шаблонов выполнения аппроксимации является отдельной комплексной задачей и выходит за рамки данной статьи.
• 1
G \ • 2
\ •
Р и с. 1. Двумерная иллюстрация разделения ячеек расчетной сетки на
внешние, граничные и внутренние F i g. 1. Two-dimensional illustration of the division of the calculated grid cells into external, boundary and internal ones
Конечно, наибольший интерес представляет аппроксимация векторных величин, а именно аппроксимация вектора скорости в фиктивной ячейке. Поэтому вопрос аппроксимации скалярных характеристик фиктивных ячеек мы опустим. На рис. 2 приведена иллюстрация выполнения аппроксимации вектора скорости для двумерного случая (трехмерный случай обрабатывается аналогично]. Фиктивная ячейка, центр которой обозначен буквой G, большей частью находится внутри обтекаемого тела. Для выполнения аппроксимации вектора скорости в данной ячейки в качестве шаблона выбраны две соседние
граничные ячейки (центры которых обозначены цифрами 1 и 2], а также ближайшая к G точка поверхности обтекаемого тела. Данный шаблон (точки 0, 1, 2] вполне подходит для выполнения аппроксимации, так как никакие две точки в нем не совпадают, а также перечисленные точки не лежат на одной прямой, в дополнение направление нормали, проведенной из точки 0, не параллельно отрезку, соединяющему точки 1 и 2. В трехмерном случае условий, накладываемых на отбор шаблонов, гораздо больше.
•i А
"Ч il/ (Д. •с > NV- «2
Р и с. 2. Двумерная иллюстрация аппроксимации скорости в фиктивной ячейке
F i g. 2. Two-dimensional illustration of velocity approximation in a dummy cell
Для верификации описанного метода погруженной границы (даже скорее самих формул аппроксимации газодинамических параметров фиктивных ячеек с использованием приближения граничных условий] была рассмотрена тестовая задача обтекания цилиндра свободным потоком. Вокруг цилиндра была обстроена декартова объемная расчетная сетка с кубическими ячейками, выполнена их классификация, как это показано на рис. 3 (на данном рисунке синим цветом показаны внешние ячейки, светло-синим цветом - граничные, красным - фиктивные, внутренние ячейки на рисунке проигнорированы].
Р и с. 3. Разбиение расчетной области на внешние, граничные и
ячейки в задаче обтекания цилиндра F i g. 3. Dividing the computational domain into outer, boundary and in the problem of flow around a cylinder
Современные информационные технологии и ИТ-образование
Том 16, № 2. 2020
ISSN 2411-1473
sitito.cs.msu.ru
PARALLEL AND DISTRIBUTED PROGRAMMING, GRID TECHNOLOGIES, PROGRAMMING ON GPUS
P и с. 4. Формирование поля скоростей в задаче обтекания цилиндра F i g. 4. Formation of the velocity field in the problem of flow around a cylinder
В ходе выполнения расчетов решалась обычная нестационарная система уравнений Эйлера, описывающая трехмерное течение идеального газа. Для решения использовалась противо-потоковая схема Steger-Warming с расщеплением потока [23]. В ходе выполнения расчетов получена качественная картина формирования поля скоростей с учетом обтекания цилиндра, представленная на рис. 4.
Заключение
В ходе выполнения работы был рассмотрен метод погруженной границы с использованием фиктивных ячеек для численного решения задач газовой динамики для применения в областях со сложной геометрией. Метод базируется на введении специальных фиктивных ячеек, в которых на каждой итерации проведения расчетов требуется выполнять аппроксимацию газодинамических параметров по точечному шаблону, состоящему их центров трех соседних граничных или внешний ячеек и ближайшей точки поверхности обтекаемого тела. Были выведены формулы аппроксимации скалярных и векторных величин для фиктивных ячеек в трехмерной постановке с использованием четырехточечного шаблона. Отмечено, что узким местом описанного метода погруженной границы является поиск оптимального шаблона для фиктивной ячейки. Ввиду огромного количества потенциально существующих шаблонов, данная задача является достаточно сложной и требует отдельного подхода. Метод погруженной границы с использованием фиктивных ячеек реализован на языке C++, оптимизирован для использования на микропроцессорах современной архитектуры (выполнена оптимизация программного кода под использование набора инструкций AVX-512 с помощью подхода с использованием функций-интринсиков [24,25]), проведена проверка метода на тестовой задаче обтекания цилиндра свободным потоком.
Список использованных источников
[i] Mahesh, K. Simulating Turbulent Flows in Complex Geometries | K. Mahesh, G. Constantinescu, P. Moin. - DOI 10.1115/FEDSM2003-45337 || Proceedings of the ASME| JSME 2003 4th Joint Fluids Summer Engineering Conference. - Vol. 2: Symposia, Parts A, B, and C. Honolulu. - Hawaii, USA, 2003. - Pp. 1911-1917. - URL: https:||asmedig-italcollection.asme.org|FEDSM|proceedings-abstract| FEDSM2003|36975|1911|303178 (дата обращения:
06.08.2020].
[2] Ye, H. Hybrid Grid Generation for Viscous Flow Simulations in Complex Geometries / H. Ye, Y. Liu, B. Chen, Z. Liu, J. Zheng, Y. Pang, J. Chen. - DOI 10.21203/rs.3.rs-31698/v1 // Research Square. - 2020. - URL: https://europepmc.org/ article/ppr/ppr169436 (дата обращения: 06.08.2020].
[3] Wright, W.B. Recent Advances in the LEWICE Icing Model / W. B. Wright, P. Struk, T. Bartkus, G. Addy. - DOI 10.4271/2015-01-2094 // SAE Technical Paper 201501-2094. 2015. - URL: https://saemobilus.sae.org/con-tent/2015-01-2094 (дата обращения: 06.08.2020].
[4] Bourgault-Cote, S. Multi-Layer Icing Methodologies for Conservative Ice Growth / S. Bourgault-Cote, K. Hasanzadeh, P. Lavoie, E. Laurendeau. - DOI 10.13009/EUCASS2017-258 // 7th European Conference for Aeronautics and Aerospace Sciences (EUCASS). - 2017. - URL: https://www.eucass.eu/ doi/EUCASS2017-258.pdf (дата обращения: 06.08.2020].
[5] Tong, X. Three-Dimensional Surface Evolution and Mesh Deformation for Aircraft Icing Applications / X. Tong, D. Thompson, Q. Arnoldus, E. Collins, E. Luke. - DOI 10.2514/1. C033949 // Journal of Aircraft. - 2017. - Vol. 54, No. 3. - Pp. 1-17. - URL: https://arc.aiaa.org/doi/10.2514/LC033949 (дата обращения: 06.08.2020].
[6] Абалакин, И. В. Метод погруженных границ для численного моделирования невязких сжимаемых течений / И. В. Абалакин, Н. С. Жданова, Т. К. Козубская. - DOI 10.31857/S004446690002525-8 // Журнал вычислительной математики и математической физики. - 2018.
- Т. 58, № 9. - С. 1462-1471. - URL: https://www.elibrary. ru/item.asp?id=37023438 (дата обращения: 06.08.2020].
- Рез. англ.
[7] Mori, Y. Implicit second-order immersed boundary methods with boundary mass / Y. Mori, C. S. Peskin. - DOI 10.1016/j.cma.2007.05.028 // Computer Methods in Applied Mechanics and Engineering. - 2008. - Vol. 197, Issue 25-28. - Pp. 2049-2067. - URL: https://www.sciencedirect. com/science/article/pii/S0045782507002952 (дата обращения: 06.08.2020].
[8] Kim, J. An immersed-boundary finite-volume method for simulation of heat transfer in complex geometries / J. Kim, H. Choi. - DOI 10.1007/BF02990875 // KSME International Journal. - 2004. - Vol. 18, Issue 6. - Pp. 1026-1035. - URL: https://link.springer.com/article/10.1007/BF02990875 (дата обращения: 06.08.2020].
[9] Clarke, D. K. Euler calculations for multielement airfoils using Cartesian grids / D. K. Clarke, M. D. Salas, H. A. Hassan. - DOI 10.2514/3.9273 // AIAA Journal. - 1986. -Vol. 24, No. 3. - Pp. 353-358. - URL: https://arc.aiaa.org/ doi/10.2514/3.9273 (дата обращения: 06.08.2020].
[10] Farrashkhalvat, M. Basic Structured Grid Generation: with an introduction to unstructured grid generation / M. Far-rashkhalvat, J. P. Miles. - DOI 10.1016/B978-0-7506-5058-8.X5000-X. - Elsevier Ltd., 2003. - URL: https://www. sciencedirect.com/book/9780750650588/basic-struc-tured-grid-generation (дата обращения: 06.08.2020].
[11] Рыбаков, А. А. Внутреннее представление и механизм межпроцессного обмена для блочно-структурирован-ной сетки при выполнении расчетов на суперкомпьютере / А. А. Рыбаков. - DOI 10.25209/2079-3316-2017-81-121-134 // Программные системы: теория и прило-
Vol. 16, No. 2. 2020
ISSN 2411-1473
sitito.cs.msu.ru
Modern Information Technologies and IT-Education
жения. - 2017. - Том 8, № 1. - С. 121-134. - URL: https:// www.elibrary.ru/item.asp?id=28848236 (дата обращения: 06.08.2020). - Рез. англ.
[12] Savin, G. I. RANS/ILES Method Optimization for Effective Calculations on Supercomuter / G. I. Savin, L. A. Bend-erskiy, D. A. Lyubimov, A. A. Rybakov. - DOI 10.1134/ S1995080219050172 // Lobachevskii Journal of Mathematics. - 2019. - Vol. 40, Issue 5. - Pp. 566-573. - URL: https:// link.springer.com/article/10.1134/S1995080219050172 (дата обращения: 06.08.2020).
[13] Giordano, A. A Dynamic Load Balancing Technique for Parallel Execution of Structured Grid Models / A. Giordano, A. De Rango, R. Rongo, D. D'Ambrosio, W. Spataro. - DOI 10.1007/978-3-030-39081-5_25 // Numerical Computations: Theory and Algorithms. NUMTA 2019. Lecture Notes in Computer Science; Y. Sergeyev, D. Kva-sov (ed.). Springer, Cham. - 2020. - Vol. 11973. - Pp. 278290. - URL: https://link.springer.com/chapter/10.1007% 2F978-3-030-39081-5_25 (дата обращения: 06.08.2020).
[14] Fadlun, E. A. Combined Immersed-Boundary Finite-Difference Methods for Three-Dimensional Complex Flow Simulations / E. A. Fadlun, R. Verzicco, P. Orlandi, J. Mohd-Yusof.
- DOI 10.1006/jcph.2000.6484 // Journal of Computational Physics. - 2000. - Vol. 161, Issue 1. - Pp. 35-60. - URL: https://www.sciencedirect.com/science/article/pii/ S0021999100964842 (дата обращения: 06.08.2020).
[15] Mittal, R. Immersed Boundary Methods / R. Mittal, G. lac-carino. - DOI 10.1146/annurev.fluid.37.061903.175743 // Annual Review of Fluid Mechanics. - 2005. - Vol. 37. - Pp. 239-261. - URL: https://www.annualreviews.org/doi/ abs/10.1146/annurev.fluid.37.061903.175743 (дата обращения: 06.08.2020).
[16] Tseng, Y.-H. A ghost-cell immersed boundary method for flow in complex geometry / Y.-H. Tseng, J. H. Ferziger.
- DOI 10.1016/j.jcp.2003.07.024 // Journal of Computational Physics. - 2003. - Vol. 192, Issue 2. - Pp. 593-623. -URL: https://www.sciencedirect.com/science/article/pii/ S0021999103004108 (дата обращения: 06.08.2020).
[17] Peter, S. A parallel implementation of the ghost-cell immersed boundary method with application to stationary and moving boundary problems / S. Peter, A. K. De. - DOI 10.1007/s12046-016-0484-9 // Sadhana. - 2016. - Vol. 41, Issue 4. - Pp. 441-450. - URL: https://link.springer.com/ar-ticle/10.1007%2Fs12046-016-0484-9 (дата обращения: 06.08.2020).
[18] Винников, В. В. Метод погруженной границы для расчета сверхзвукового обтекания затупленных тел на прямоугольных сетках / В. В. Винников, Д. Л. Ревизников // Труды МАИ. - 2007. - № 27. - С. 12. - URL: https://www. elibrary.ru/item.asp?id=10412023 (дата обращения: 06.08.2020).
[19] Рыбаков, А. А. Векторизация нахождения пересечения объемной и поверхностной сеток для микропроцессоров с поддержкой AVX-512 / А. А. Рыбаков // Труды НИИСИ РАН. - 2019. - Т. 9, № 5. - С. 5-14. - URL: https:// www.elibrary.ru/item.asp?id=41595664 (дата обращения: 06.08.2020). - Рез. англ.
[20] Wackers, J. Adaptive grid refinement for hydrodynam-ic flows / J. Wackers, G. Deng, A. Leroyer, P. Queutey, M. Visonneau. - DOl 10.1016/j.compfluid.2011.11.004 //
Computers & Fluids. - 2012. - Vol. 55. - Pp. 85-100. - URL: https://www.sciencedirect.com/science/article/pii/ S0045793011003392 (дата обращения: 06.08.2020).
[21] Zhou, L. Unstructured Adaptive Grid Refinement for Flow Feature Capture / L. Zhou, Y. Yunjun, G. Anlong, Z. Weijiang. - DOI 10.1016/j.proeng.2014.12.561 // Procedia Engineering. - 2015. - Vol. 99. - Pp. 477-483. - URL: https://www.sci-encedirect.com/science/article/pii/S1877705814036753 (дата обращения: 06.08.2020).
[22] van der Plas, P. Adaptive Grid Refinement for Free-Surface Flow Simulations in Offshore Applications / P. van der Plas, A. E. P. Veldman, H. van der Heiden, R. Luppes. - DOI 10.1115/OMAE2015-42029 // Proceedings of the ASME 2015 34th International Conference on Ocean, Offshore and Arctic Engineering. - Vol. 2: CFD and VIV. - St. John's, Newfoundland, Canada. May 31 - June 5, 2015. - V002T08A025. ASME, 2015. - URL: https://asmedigitalcollection.asme. org/OMAE/proceedings-abstract/OMAE2015/56482/ V002T08A025/287460 (дата обращения: 06.08.2020).
[23] Смирнова, Н. С. Сравнение схем с расщеплением потока для численного решения уравнения Эйлера сжимаемого газа / Н. С. Смирнова // Труды МФТИ. - 2018. - Т. 10, № 1. - С. 122-141. - URL: https://www.elibrary.ru/item. asp?id=32761938 (дата обращения: 06.08.2020). - Рез. англ.
[24] Shabanov, B. M. Vectorization of High-performance Scientific Calculations Using AVX-512 Intruction Set / B. M. Shabanov, A. A. Rybakov, S. S. Shumilin. - DOl 10.1134/ S1995080219050196 // Lobachevskii Journal of Mathematics. - 2019. - Vol. 40, Issue 5. - Pp. 580-598. - URL: https:// link.springer.com/article/10.1134/S1995080219050196 (дата обращения: 06.08.2020).
[25] Rybakov, A. A. Vectorization of the Riemann solver using the AVX-512 instruction set / A. A. Rybakov, S. S. Shumil-in. - DOl 10.25209/2079-3316-2019-10-3-41-58 // Program Systems: Theory and Applications. - 2019. - Vol. 10, Issue 3. - Pp. 41-58. - URL: https://www.elibrary.ru/item. asp?id=41394047 (дата обращения: 06.08.2020).
Поступила 06.08.2020; принята к публикации 25.09.2020; опубликована онлайн 30.09.2020.
|об авторе:|
Рыбаков Алексей Анатольевич, ведущий научный сотрудник Межведомственного суперкомпьютерного центра Российской академии наук - филиала Федерального государственного учреждения «Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук» (119334, Россия, г. Москва, Ленинский пр., д. 32а), кандидат физико-математических наук, ORCID: http://orcid. org/0000-0002-9755-8830, rybakov@jscc.ru
Автор прочитал и одобрил окончательный вариант рукописи.
References
[1] Mahesh K., Constantinescu G., Moin P. Simulating Turbulent Flows in Complex Geometries. In: Proceedings of the ASME/JSME 2003 4th Joint Fluids Summer Engineering Conference, vol. 2: Symposia, Parts A, B, and C. Honolulu. Ha-
Современные информационные технологии и ИТ-образование
Том 16, № 2. 2020 ISSN 2411-1473 sitito.cs.msu.ru
PARALLEL AND DISTRIBUTED PROGRAMMING, GRID TECHNOLOGIES, PROGRAMMING ON GPUS
waii, USA, 2003. p. 1911-1917. (In Eng.) DOI: https://doi. org/10.1115/FEDSM2003-45337
[2] Ye H., Liu Y., Chen B., Liu Z., Zheng J., Pang Y., Chen J. Hybrid
Grid Generation for Viscous Flow Simulations in Complex [14] Geometries. Research Square. 2020. (In Eng.) DOI: https:// doi.org/10.21203/rs.3.rs-31698/v1
[3] Wright W.B., Struk P., Bartkus T., Addy G. Recent Advances in the LEWICE Icing Model. SAE Technical Paper 2015-012094. 2015. (In Eng.) DOI: https://doi.org/10.4271/2015- [15] 01-2094
[4] Bourgault-Cote S., Hasanzadeh K., Lavoie P., Laurendeau
E. Multi-Layer Icing Methodologies for Conservative Ice [16] Growth. In: 7th European Conference for Aeronautics and Aerospace Sciences (EUCASS). 2017. (In Eng.) DOI: https:// doi.org/10.13009/EUCASS2017-258
[5] Tong X., Thompson D., Arnoldus Q., Collins E., Luke E. [17] Three-Dimensional Surface Evolution and Mesh Deformation for Aircraft Icing Applications. Journal of Aircraft. 2017; 54(3):1-17. (In Eng.) DOI: https://doi.org/10.2514/! C033949
[6] Abalakin I.V., Zhdanova N.S., Kozubskaya T.K. Immersed [18] Boundary Method for Numerical Simulation of Inviscid Compressible Flows. Computational Mathematics and Mathematical Physics. 2018; 58(9):1411-1419. (In Eng.) DOI: https://doi.org/10.31857/S004446690002525-8
[7] Mori Y., Peskin C.S. Implicit second-order immersed boundary methods with boundary mass. Computer Methods in Applied Mechanics and Engineering. 2008; 197(25- [19] 28):2049-2067. (In Eng.) DOI: https://doi.org/10.1016/j. cma.2007.05.028
[8] Kim J., Choi H. An immersed-boundary finite-volume method for simulation of heat transfer in complex geometries. KSME International Journal. 2004; 18(6):1026-1035. (In Eng.) DOI: https://doi.org/10.1007/BF02990875
[9] Clarke D.K., Salas M.D., Hassan H.A. Euler calculations for multielement airfoils using Cartesian grids. AIAA Journal. [20] 1986; 24(3):353-358. (In Eng.) DOI: https://doi.org/DOI 10.2514/3.9273
[10] Farrashkhalvat M., Miles J. P. Basic Structured Grid Generation: with an introduction to unstructured grid generation. [21] Elsevier Ltd.; 2003. (In Eng.) DOI: https://doi.org/10.1016/ B978-0-7506-5058-8.X5000-X
[11] Rybakov A.A. Vnutrennee predstavlenie i mehanizm me-zhprocessnogo obmena dlja blochno-strukturirovannoj [22] setki pri vypolnenii raschetov na superkompjutere [Inner Representation and Crossprocess Exchange Mechanism for Block-Structured Grid for Supercomputer Calculations]. Programmnye Sistemy: Teorija i Prilozhenija
= Program Systems: Theory and Applications. 2017; 8(1):121-134. (In Russ., abstract in Eng.) DOI: https://doi. org/10.25209/2079-3316-2017-8-1-121-134
[12] Savin G.I., Benderskiy L.A., Lyubimov D.A., Rybakov A.A. [23] RANS/ILES Method Optimization for Effective Calculations on Supercomuter. Lobachevskii Journal of Mathematics. 2019; 40(5):566-573. (In Eng.) DOI: https://doi. org/10.1134/S1995080219050172
[13] Giordano A., De Rango A., Rongo R., D'Ambrosio D., Spataro W. A Dynamic Load Balancing Technique for Parallel Execution of Structured Grid Models. In: Sergeyev Y., Kvasov [24] D. (ed.) Numerical Computations: Theory and Algorithms.
NUMTA 2019. Lecture Notes in Computer Science. 2020; 11973:278-290. Springer, Cham. (In Eng.) DOI: https://doi. org/10.1007/978-3-030-39081-5_25 Fadlun E.A., Verzicco R., Orlandi P., Mohd-Yusof J. Combined Immersed-Boundary Finite-Difference Methods for Three-Dimensional Complex Flow Simulations. Journal of Computational Physics. 2000; 161(1):35-60. (In Eng.) DOI: https://doi.org/10.1006/jcph.2000.6484 Mittal R., Iaccarino G. Immersed Boundary Methods. Annual Review of Fluid Mechanics. 2005; 37:239-261. (In Eng.) DOI: https://doi.org/10.1146/annurev.fluid.37.061903.175743 Tseng Y.-H., Ferziger J.H. A ghost-cell immersed boundary method for flow in complex geometry. Journal of Computational Physics. 2003; 192(2):593-623. (In Eng.) DOI: https://doi.org/10.1016/j.jcp.2003.07.024 Peter S., De A.K. A parallel implementation of the ghost-cell immersed boundary method with application to stationary and moving boundary problems. Sadhana. 2016; 41(4):441-450. (In Eng.) DOI: https://doi.org/10.1007/ s12046-016-0484-9
Vinnikov V.V., Reviznikov D.L. Metod pogruzhennoj granicy dlya rascheta sverhzvukovogo obtekaniya zatuplennyh tel na pryamougol'nyh setkah [Immersed Boundary Method for Numerical Simulation of Supersonic Flow over Blunt Bodies on Rectangular Grids]. Trudy MAI. 2007. (27):12. Available at: https://www.elibrary.ru/item.asp?id=10412023 (accessed 06.08.2020). (In Russ., abstract in Eng.) Rybakov A.A. Vektorizaciya nahozhdeniya peresecheniya ob"emnoj i poverhnostnoj setok dlya mikroprocessorov s podderzhkojAVX-512 [Vectorization of Finding the Intersection of Volume Grid and Surface Grid for Microprocessors with AVX-512 Support]. Proceedings of NIISI RAS. 2019; 9(5):5-14. Available at: https://www.elibrary.ru/item.as-p?id=41595664 (accessed 06.08.2020). (In Russ., abstract in Eng.)
Wackers J., Deng G., Leroyer A., Queutey P., Visonneau M. Adaptive grid refinement for hydrodynamic flows. Computers & Fluids. 2012; 55:85-100. (In Eng.) DOI: https://doi. org/10.1016/j.compfluid.2011.11.004 Zhou L., Yunjun Y., Anlong G., Weijiang Z. Unstructured Adaptive Grid Refinement for Flow Feature Capture. Procedia Engineering. 2015; 99:477-483. (In Eng.) DOI: https:// doi.org/10.1016/j.proeng.2014.12.561 van der Plas P., Veldman A.E.P., van der Heiden H., Luppes R. Adaptive Grid Refinement for Free-Surface Flow Simulations in Offshore Applications. In: Proceedings of the ASME 2015 34th International Conference on Ocean, Offshore and Arctic Engineering, vol. 2: CFD and VIV. - St. John's, Newfoundland, Canada. May 31-June 5, 2015. V002T08A025. ASME; 2015. (In Eng.) DOI: https://doi.org/10.1115/ OMAE2015-42029
Smirnova N.S. Sravnenie skhem s rasshchepleniem potoka dlya chislennogo resheniya uravneniya Ejlera szhimaemogo gaza [Comparison of flux splitting schemes for numerical solution of the compressible Euler equations]. Proceedings of MIPT. 2018; 10(1):122-141. Available at: https://www. elibrary.ru/item.asp?id=32761938 (accessed 06.08.2020). (In Russ., abstract in Eng.)
Shabanov B.M., Rybakov A.A., Shumilin S.S. Vectorization of High-performance Scientific Calculations Using AVX-512
Modern Information Technologies and IT-Education
Intruction Set. Lobachevskii Journal of Mathematics. 2019; 40(5):580-598. (In Eng.) DOI: https://doi.org/10.1134/ S1995080219050196 [25] Rybakov A.A., Shumilin S.S. Vectorization of the Riemann solver using the AVX-512 instruction set. Program Systems: Theory and Applications. 2019; 10(3):41-58. (In Eng.) DOI: https://doi.org/10.25209/2079-3316-2019-10-3-41-58
Submitted 06.08.2020; revised 25.09.2020; published online 30.09.2020.
About the author:
Alexey A. Rybakov, Senior Research Fellow of the Joint Supercomputer Center of the Russian Academy of Sciences - Branch of Federal State Institution "Scientific Research Institute for System Analysis of the Russian Academy of Sciences" (32 a Linin Ave., Moscow 119334, Russia), Ph.D. (Phys.-Math.), ORCID: http://orcid.org/0000-0002-9755-8830, rybakov@jscc.ru
The author has read and approved the final manuscript.
Современные информационные технологии и ИТ-образование
Том 16, № 2. 2020 ISSN 2411-1473 sitito.cs.msu.ru