DOI: 10.18721/JCSTCS.10105 УДК 004.942, 532.517.3
применение суперкомпьютерных технологий для исследования динамики полидисперсных сред
Л.М. Курочкин', А.С. Чернышев2, М.А. Курочкин', Д.А. Домрачев', М.В. Прохоров'
1 Санкт-Петербургский политехнический университет Петра Великого
Санкт-Петербург, Российская Федерация;
2 Санкт-Петербургское отделение Межведомственного суперкомпьютерного центра РАН
Санкт-Петербург, Российская Федерация
Численное моделирование динамики жидкости и газа, и многофазных сред в частности, является перспективным направлением исследований и инженерных разработок. В области многофазных сред экспериментальные методики иногда не позволяют получать детальные данные о структуре течения из-за большого количества вовлеченных физических явлений. Учет всех необходимых процессов и явлений при численном моделировании для построения полной картины течения, а также расчет практически важных задач требует использования большого количества вычислительных ресурсов, что делает невозможным проведение компьютерного моделирования на отдельных рабочих станциях. Применение методики распараллеливания существующих алгоритмов решения уравнений многофазных сред при помощи библиотеки OpenMP, а также использование суперкомпьютерных технологий позволяет сократить время моделирования и произвести расчет сложных течений. В статье описаны модель полидисперсной среды, алгоритм решения основополагающих уравнений модели, основные элементы численного метода и методика проведения компьютерных экспериментов. Представлены зависимости времени расчетов модели, проводимых в СКЦ «Политехнический», от количества потоков и параметров модели.
Ключевые слова: численные методы; многофазные среды; неструктурированные сетки; параллельные вычисления; суперкомпьютерные технологии.
application of supercomputer technologies for studying the dynamics of polydisperse mediums
L.M. Kurochkin', A.S. Chernyshev2, M.A. Kurochkin', D.A. Domrachev', M.V. Prokhorov'
1 Peter the Great St. Petersburg Polytechnic University St. Petersburg, Russian Federation;
2 Joint Supercomputer Center of the Russian Academy of Sciences (St. Petersburg branch)
St. Petersburg, Russian Federation
Numerical modeling of gas and liquid flows and, in particular, multiphase mediums, is a promising direction of scientific investigations and development of industrial apparatus. The experimental approach in the field of multiphase flows does not always allow obtaining the required information about the flow structure due to the excessive amount of physical phenomena involved. Numerical simulations of real flows with inclusion of all processes and phenomena or on real-scale geometries
are very resource-demanding and are not feasible on stand-alone personal working stations. Thus, applying parallelization techniques for the existing solution algorithms with the means of the OpenMP library alongside supercomputer technologies can reduce computational time and can help with simulations of complex flows. The study presents the description of the previously developed mathematical model of polydisperse multiphase flows, a numerical algorithm for the solution of the governing equations of the model, description of the numerical method and technique of conducting the numerical experiments. The results presented in the paper have been obtained during numerical experiments carried out at the Politekhnichesky SC, and comprise the dependencies of program working time on the amount of threads and model parameters.
Keywords: numerical methods; multiphase mediums; unstructured grids; parallel computing; supercomputing technology.
Численное моделирование как эффективный инструмент исследования различных физических явлений находит широкое применение для решения большого круга научных и практических задач, в частности, для решения задач динамики многофазных полидисперсных потоков. Интерес к многофазным полидисперсным средам связан с их широкой распространенностью как в природе, так и в технологических процессах. В качестве примеров можно привести задачи о вскипании охладителя в контурах ядерного реактора, образование пузырей при падении давления в топливопроводах, оптимизации химических пузырьковых реакторов и многие др.
Получение детальной и физически корректной картины течения во многих случаях связано с решением большого количества определяющих модельных уравнений и необходимостью хранить сопутствующие поля параметров задачи, что накладывает ограничения на использование подхода из-за конечности объема оперативной памяти и мощности процессора в вычислительной системе. Таким образом, создание масштабируемых многопроцессорных систем и проведение параллельных вычислений представляется единственным способом преодоления этой проблемы.
В статье представлено параметрическое численное исследование эффективности параллелизации на примере задачи о пузырьковой колонне [1]. Существующий компьютерный код, основанный на ранее разработанных математической модели и алгоритме решения определяющих уравнений [1, 2], будет распараллелен на
общей памяти при помощи технологии ОрепМР. Математическая модель основана на эйлерово-эйлеровском подходе к описанию многофазных сред [2] и включает в себя модель полидисперсных пузырей, в рамках которой вводится N классов пузырей, для каждого класса записываются свои уравнения сохранения массы и импульса. Исходная система дополнена уравнениями £-ю-88Т модели турбулентности, а также источниковыми слагаемыми, учитывающими межфазное взаимодействие.
Анализ проблемы
Исследования течений жидкости и газа, а также сопутствующих процессов, с помощью численных методов получили большое распространение начиная с 80-х гг. ХХ века. Многие аспекты численных методов были разработаны ранее, однако, их применение в реальных задачах было затруднено из-за сложности процессов, происходящих в такого рода течениях, сложности рассчитываемых геометрий, а также требуемой точности, предъявляемой к результатам, что прямо связано с размерами расчетной сетки.
В области численного решения задач динамики многофазных сред на текущий момент проведено большое количество исследований. Значительное количество публикаций посвящено исследованиям дисперсных сред с привлечениям лагранжево-эйлеровского и эйлерово-эйлеровского подходов. К первому можно отнести работы [3—5], в которых рассмотрено низкоскоростное движение дисперсных включений, а также [6], где исследованы высокоскоростные процессы образования и последующей динамики
пузырьков. Эйлерово-эйлеровский подход освещен в работах Пахомова и Терехова [7, 8] по динамике вертикального движения пузырьков со сложным межфазным взаимодействием. Расчет полидисперсных течений можно найти, например, в работах [9, 10]. Также проводились сравнения различных, в том числе открытых, вычислительных кодов для моделирования многофазных сред (см. например [11]).
Расчеты методами прямого численного моделирования (Uhlmann, Tryggvason [12—14]) позволяют получить детализованную картину течения, однако их использование ограничено относительно простыми задачами, такими как движение разреженного потока твердых частиц в прямоугольном канале [12], движение группы деформируемых пузырей [13] или движение нескольких пузырей с подробным разрешением течения вокруг каждого пузыря с учетом межфазного массообмена [14].
Стоит отметить, что современные расчеты проводятся либо в последовательном режиме, если позволяет размер расчетной области, либо распараллеливаются при помощи технологии распределенной памяти (MPI), что по умолчанию включено в большинство коммерческих пакетов и открытых кодов. Реализация компьютерных алгоритмов при помощи библиотеки OpenMP (см. например [15—17]) позволяет максимально эффективно использовать ресурсы вычислительных комплексов с общей памятью в связи с развитием в последнее время многоядерных многопроцессорных систем.
Настоящая статья посвящена исследованию возможности параллелизации существующего расчетного кода на вычислительных системах с общей памятью при помощи технологии OpenMP и проведении тестовых расчетов в СКЦ «Политехнический» для определения эффективности предложенного подхода.
Постановка задачи
Разработанная ранее математическая модель процессов в дисперсных средах основана на эйлерово-эйлеровском подходе к описанию полидисперсных многофазных сред [1, 2]. Полидисперсность учитывается
при помощи модели Ми8Ю [18], в рамках которой распределение пузырей по размерам выражается в виде кусочно-постоянной функции, пузыри определенного размера соответствуют определенному классу /, всего вводится N классов пузырей. В текущей постановке коалесценцией и дроблением пузырей пренебрегается из-за малой объемной доли пузырей и сохранения их сферической формы. Уравнения Навье-Стокса в этом случае имеют следующий вид:
даьРь
dt
+ div(a,b PbVib ) = Гь ,
da ibPbVib
dt
N
д(1 -Ia ib ) Pl
+ div(a,bPbV;bVib + PE ) = sb,
dt
+ div
f
+ div
1 -Yaib IPivI
d(1 -Ias ) p V -^-+
dt
1 -Jjaib |p lVV + PE -T
= r,
= S,.
Здесь а — объемная доля пузырей соответствующего класса; р — плотность среды;
V — скорость соответствующей фазы; Г — источниковое слагаемое, отвечающее за перенос массы между фазами; Б — источ-никовое слагаемое, отвечающее за перенос импульса между фазами; т — тензор скоростей деформации. Подстрочный индекс I относится к жидкой фазе, Ь — к пузырьковой. Уравнения модели записаны в предположении изотермичности и равновесности протекающих процессов.
Распределение пузырей в объеме жидкости по их размерам может быть задано лог-нормальной функцией или функцией распределения Розина—Раммлера:
• ехр(-(1п(Я) - ц)2 • 0,5а-2),
LN :
ЯЯ: • ехр(-(Я / X)"), Я > 0,
где Я — радиус пузыря; ц, о, к и 1 — параметры, определяющие форму функции распределения.
i=1
В общем случае каждый из пузырей может состоять из смеси разнородных газов, концентрацию каждого из которых для определенных классов задач необходимо учитывать. С этой целью модель была расширена для возможности учета динамики газовых компонент для каждого класса пузырей. Уравнения переноса концентрации X- отвечающего за концентрацию газовой компоненты для каждого пузыря в радиальной системе координат, связанной с пузырем, имеют вид [19]:
dt
= D:
_L A.
r2 dr
f
dr
Для расчета диффузии на границе пузырь-жидкость используется закон Генри. Перенос массы в уравнениях сохранения
можно выразить следующим образом:
- Ц ,
Турбулентность учитывается при помощи модели £-ю-88Т:
d(pk ) dt
+ div(plVlk)
P - Pp,-k + div[(Vlam d(Pl -)
CTkVturb )§radk] + TJSib
dt
a.
P i
M"turb
+ div(p l V—)
P -ррю2 +
lam
1 dk da N + 2(1 - Fi)p iCTM2 - — — + YSiba > - dxi dxi 7=1
где k — кинетическая энергия турбулентности; ю — удельная диссипация турбулентности; P — генерационное слагаемое; vlam, V-turt — молекулярная и турбулентная вязкости. Дополнительные слагаемые, отвечающие за генерацию и диссипацию турбулентности пузырями:
k „
3 C I - |3
Sibk = а -ТТ аibPi YiJ , Sib- = 0,1 8 Rb 11
M-Uiib
Межфазный перенос импульса. Источ-никовое слагаемое в уравнении сохране-
ния импульса включает силу тяжести, силу Стокса силу Сэффмана и силу, отвечающую за дисперсию пузырей из-за турбулентных пульсаций скорости несущей фазы ¥.ТВ. В общем случае для пузырьковых течений значительный вклад вносит сила присоединенных масс, однако в текущей постановке исследуется установившийся режим течения, поэтому этой силой можно пренебречь. Остальные силы исключаются из рассмотрения в силу их малости (например, силы Бассе, Магнуса). Выражение для силового взаимодействия имеет вид:
Б ¡ь = а ь Рьё + Рт + Р и + Рлв,
А N Л N
^ = I 1 - Т?ьь I Р,ё - Х(рт + Ри + ртв X
F D =
3Pl
8R
C V V V = V - V
^iDr irel r irel\l r irel r l r if
F L = CiLabbPlVirel * r0t Vl,
3 \Virel
F = -1 2C -J
1 iTD ^iD n
8 ^
Коэффициенты C.D и CL взяты из [20] и [21] соответственно.
Численный метод и алгоритм решения уравнений
Численный метод решения модельных уравнений основан на конечно-объемном подходе и неструктурированных сетках. Расчет полей давления и скоростей фаз реализован при помощи алгоритма SIMPLE, модифицированного для многофазных полидисперсных потоков. Второй порядок точности по пространству обеспечен TVD схемами дискретизации конвективных потоков, итерационный процесс реализован при помощи метода установления по псевдовремени. Корректирующие поправки введены в схемы вычисления градиента для устранения влияния скошенности сетки.
Реализация параллельного алгоритма требует анализа процесса исполнения исходного кода программы и последовательности решения уравнений, входящих в модель. Уравнения в рамках предложенной модели, в случае последовательного алгоритма, решаются в порядке, представлен-
[=1
Инициализация полей начальными величинами
Начало цикла
f Расчет поля скорости для всех фаз (N*3)
Алгортим SIMPLE Обновление давления и скорости
Расчет турбулентности
Многофазность
Решение уравнения для a (N)
Решение уравнения для х{ (N)
Обновление турбулентных величин
Обновление многофазности
Обновление параметров среды (вязкость, плотность)
Нет
Достигнуто заданное количество итераций?
1 Да
Выход
Рис. 1. Алгоритм решения уравнений модели
ном на рис. 1. Для реализации параллельной версии программы в рамках технологии ОрепМР необходимо оценить, какие из этапов алгоритма поддаются эффективной и экономичной, с точки зрения разработки дополнительного программного кода, па-раллелизации.
На основе рассмотрения приведенной математической модели можно сделать вывод, что этапы расчета полей скорости, объемной доли пузырей а и расчета дополнительных скаляров х линейно зависят от количества классов пузырей N. При этом решение каждого из уравнений на этих этапах не зависит от решения аналогичных уравнений для других классов пузырей. Таким образом, представляется возможным распараллеливание алгоритма для этих этапов расчета по классам пузырей. Остальные этапы предложенного алгоритма выполняются последовательно.
Инструментальная среда моделирования
В исходной программе шБ1о—, реализующей решения уравнения предложенной математической модели, были выделены фрагменты последовательной и параллельной обработки данных. Параллельная обработка реализована в блоке «Многофаз-ность». Начальные установки «расчет поля скорости» и «обновление давления и скорости» выполнялись последовательно. Распараллеливание программы выполнялось на основе технологии ОрепМР.
Эксперименты проводились на суперкомпьютере СКЦ «Политехнический» [22]. Удаленный доступ к ресурсам СКЦ организован по Доступ к выделенным ресурсам и запуск задач выполнялся с помощью менеджера кластеров 8ЬиЯМ — высокомас-штабируемого отказоустойчивого менеджера кластеров и планировщика заданий для больших кластеров вычислительных узлов.
Менеджер кластеров SLURM обеспечивает поддержку очереди ожидающе заданий; управляет общей загрузкой ресурсов в процессе выполнения работы.
Вычислительная среда СКЦ, имея общую пиковую производительность более 1,2 ПФлопс, включает в себя:
• гетерогенный кластер в составе бб8 двуxпроцессорныx узлов с новейшими 14-ядерными процессорами Intel Xeon E5 2б95 v3 и б4 ГБ оперативной памяти; пиковая производительность кластера составляет 938 ТФлопс;
• уникальную вычислительную систему с массовым параллелизмом и ультравысокой многоточностью на процессораx Intel Xeon Phi, содержащую 25б узлов; пиковая производительность системы — 259 ТФлопс;
• массивно-параллельный суперкомпьютер с кеш-когерентной глобально адресуемой памятью объемом более 12 ТБ и пиковой производительностью ЗО ТФлопс.
Для решения задачи были выделены б12 вычислительный узлов с 5б ядрами: tornado : nodes: б12
cpu: 2 x Intel Xeon CPU E5-2697 v3 @ 2.бО GHz
cores/hwthreads: 28 / 28 mem: 64G
net: 56Gbps FDR Infiniband * tornado-k40 : nodes: 56 cpu: 2 x Intel Xeon CPU E5-2697 v3 @ 2.6О GHz
cores/hwthreads: 28 / 28 co-processor: 2 x Nvidia Tesla K40x co-porcessor mem: 12G mem: 64G
net: 56Gbps FDR Infiniband
Описание экспериментов
В экспериментальном исследовании определялась зависимость времени выполнения программы в параллельной среде от комбинации входных данных и числа потоков, на которых выполнялась программа. Измерение времени производилось с помощью утилиты time.
Изменяемые параметры:
I — число классов пузырей — 1; 10; 20; 30.
J — число дополнительных переменных - 0; 10; 20.
P — число потоков — 1; 10; 20; 30; 40; 50.
Входные данные объединены в 12 групп. Для каждой группы было проведено шесть экспериментов с разным числом потоков.
Анализ результатов. Ниже представлены результаты измерений времени работы программы: зависимость количества потоков, на которые была распараллелена программа, от числа типов пузырей и числа дополнительных переменных
Из таблиц 1 и 2 видно, что при минимальных значениях параметров I = 1, J = 0 время выполнения одинаково как при последовательном выполнении, так и при параллельном и занимает 5 мин. При максимальных значениях I = 30, J = 20 время выполнения в последовательном варианте занимает 111 мин, а при параллельном, при числе потоков 50 занимает 33 мин. Графически эти зависимости приведены на рис. 2
Таблица 1
Время выполнения программы при 1 и 10 типах пузырей
Число потоков I = 1 I = 1 I = 1 I = 1О I = 1О I = 1О
J = О J = 1О J = 2О J = О J = 1О J = 2О
1 ЗО1,2З 411,11 469,31 968,87 1625,19 2375,86
1О ЗО1,О4 387,56 457,61 6О2,78 86О,25 1О24,1О
2О ЗО4,72 444,55 485,8О 612,79 8О4,7О 1О1О,84
ЗО 293,95 398,69 5О5,82 56О,6О 769,46 978,66
4О ЗОО,4З 417,19 5О9,58 55О,26 755,57 967,61
5О ЗО1,86 385,68 493,28 578,97 783,76 945,42
Таблица 2
Время выполнения программы при 20 и 30 типах пузырей
Число потоков I = 20 I = 20 I = 20 I = 30 I = 30 I = 30
I = 0 I = 10 I = 20 I = 0 I = 10 I = 20
1 1595,42 3248,53 4992,84 2163,08 4806,33 6682,79
10 965,24 1391,71 1800,49 1335,05 1946,25 2469,88
20 924,98 1186,11 1425,56 1286,96 1720,17 2127,27
30 879,01 1187,06 1388,24 1246,58 1515,60 1880,72
40 841,69 1141,89 1374,74 1174,43 1495,01 1845,66
50 838,22 1126,37 1374,76 1182,45 1497,85 1822,46
Начальное значение времени работы программы (при I = 0) зависит от числа типов пузырей. То есть при последовательном выполнении программы и отсутствии дополнительных переменных время выполнения программы увеличивается на минуту при добавлении нового типа пузырей (табл. 3).
Таблица 3
Время выполнения программы в однопоточном режиме р = 1, без дополнительных переменных / = 0
Число типов I
1
10
20
30
Время, с
301,23
968,87
1595,42
2163,08
Видно, что зависимость линейная, но скорость роста также зависит от числа типов пузырей. Время выполнения растет быстрее при большем числе пузырей (угол между прямой и абсциссой).
На рис. 3 представлена зависимость времени выполнения программы от числа дополнительных переменных для р = 1, р = 10. При параллельном выполнении программы и отсутствии дополнительных переменных время выполнения программы увеличивается на 30 с при добавлении нового типа пузырей, что в два раза меньше, чем при последовательном выполнении.
Данные, приведенные в табл. 4, показывают, что при увеличении числа типов пузырей время выполнения программы растет линейно. Для параллельного режима
Рис. 2. Зависимость времени выполнения программы от числа дополнительных переменных
при однопоточном выполнении программы
Время, с
3000,00 2700,00 2400,00 2100,00 1800,00 1500,00 1200,00 900,00 600,00 300,00
/ /
оУ / <77 -
/ / / V /
/ f ________' _________ .—
/ /
/ / — ___ ^ "" 1=20 ___ ■
■■ _____.
_ _1=10£=10_ _
|=1 р=Ю
— 1 поток 1=1
— - 1 поток 1=10
--1 поток 1=20
-1 поток 1=30
— 10 потоков 1=1
— - 10 потоков 1=10
— -10 потоков 1=20 -10 потоков 1=30
Доп.
переменные
10
20
Рис. 3. Зависимость времени выполнения программы от числа дополнительных переменных для р = 1, р = 10
Таблица 4
Зависимость времени выполнения программы в однопоточном и параллельном режимах, без дополнительных переменных
Число типов I Время, с при P = 1, J = 0 Время, с при P = 10, J = 0
1 301,23 301,04
10 968,87 602,78
20 1595,42 965,24
30 2163,08 1335,05
скорость роста в полтора раза меньше чем при однопоточном.
На рис. 4 приведен график зависимости времени выполнения программы от числа дополнительных переменных для различного числа потоков.
Результаты экспериментов объединены по числу типов пузырьков. Представленные зависимости показывают, что увеличение числа потоков при фиксированном числе типов пузырей (I = const) уменьшает время выполнения в многопоточном режиме. Для случая I = 30, J = 20 дополнительные 10 потоков уменьшают время выполнения на 400 с. Так, при 10 потоках программа выполняется 2469,88 с, при 20 потоках — 2127,27 с, при 30 потоках — 1880,72 с.
Влияние числа потоков на скорость роста при увеличении числа дополнительных
переменных прослеживается при P < I. В случае I = 30 увеличение числа потоков (более 30) практически не влияет на время выполнения программы, т. е. наступает насыщение около отметки 1800 с при 20 дополнительных переменных. Для p = 10 время выполнения программы растет линейно и приближается к 2500 с. Эффект насыщения можно объяснить спецификой используемого алгоритма решения задачи, в котором распараллеливание возможно только в блоке «многофазность».
При I = 20 скорость роста времени прекращается при распараллеливании на 20 и более потоков. При I = 1 и I = 10 она одинакова.
Итак, при фиксированном числе типов пузырей (I = const) скорость роста времени выполнения программы зависит от числа
Рис. 4. Зависимость времени выполнения программы от числа дополнительных переменных для параллельного выполнения на различном числе потоков
Время, с
6300 5700 5100 4500 3900 3300 2700 2100 1500 900 300
: *
: ✓ ✓ ✓ ✓
; ^ У
: * * * * А
: ✓
✓ ✓ ✓ ✓ ✓ „ „.Л ___
у * * * ----
* * ✓ * * г- — ' ........"*
/ ^ _ «■»
0
10
20
30
Типы пузырей
Рис. 5. Зависимость времени выполнения программы от числа типов пузырей при последовательном режиме выполнении программы
4
Время, с
2400 2100 1800 1500 1200 900 600 300
-Л .
/
✓ / * * * /
/ ¿ь У
^ с
— ]=0 10 потоков ^0 20 потоков
-^0 30 потоков
-]=0 40 потоков
-^0 50 потоков
]=10 10 потоков ]=10 20 потоков ]=10 30 потоков ]=10 40 потоков ]=10 50 потоков
— ]=20 10 потоков
......^20 20 потоков
-^20 30 потоков
-}=20 40 потоков
-^20 50 потоков
10
20
30
Типы пузырей
Рис. 6. Зависимость времени выполнения программы от числа типов пузырей при параллельном выполнении программы
потоков. Она уменьшается при росте числа потоков, и достигает минимума при р > I.
На рис. 5 представлена зависимость времени выполнения программы от числа типов пузырей.
Приведенная на рисунке зависимость является линейной. Увеличение в два раза числа дополнительных переменных увеличивает время выполнения программы примерно в два раза.
Следующий набор зависимостей (рис. 6) демонстрирует, что при одном типе пузырьков время увеличивается с ростом числа дополнительных переменных. Скорость роста времени при увеличении числа типов пузырей зависит от числа потоков: она уменьшается с увеличением числа потоков. При выполнении условия р > / скорость роста становится минимальной.
Зависимости времени от числа типов пузырей и числа дополнительных переменных имеют линейный характер. Количество типов пузырей больше влияет на время выполнения программы, чем количество дополнительных переменных. Интенсивность
роста времени с увеличением одного из параметров и фиксированном значении другого зависит от числа потоков. Для уменьшения времени выполнения программы необходимо использовать число потоков, равное максимальному значению из двух параметров р = max(/, / + 1). Дальнейшее увеличение числа потоков практически не влияет на результат.
Зависимости, представленные на рис. 7, показывают, что параллельный вариант реализации вычислений позволяет сократить время выполнения программы в три раза. С увеличением числа потоков более 10 время выполнения уменьшается незначительно, около 10 % в случае I = 30, / = 30, и менее 1 % для случая I = 1, / = 20. Время выполнения программы достигает минимума при распараллеливании на число потоков, равное максимальному значению одного из параметров / или I.
Представлена математическая модель, описывающая течение полидисперсной пузырьковой среды, а также алгоритм решения уравнений модели. На основе ана-
Рис. 7. Зависимость времени выполнения программы от числа потоков
лиза уравнений и их взаимного влияния выделены блоки алгоритма, в рамках которых возможно параллельное решение некоторых уравнений. Эти блоки относятся к разделу модели, отвечающей за решения уравнения переноса в границах полидисперсного описания среды.
Распараллеливание алгоритма было проведено при помощи технологии ОрепМР, как наиболее экономичной с точки зрения вносимых изменений в исходный код программы, а также позволяющей наиболее эффективно использовать вычислительные системы с общей памятью.
В ходе выполнения работы с помощью технологии ОрепМР была модифицирована программа шНо,№, реализующая решения уравнения предложенной математической модели. Для модифицированной версии были проведены 72 эксперимента с разными наборами входных данных и измерено
время работы программы для шести вариантов параллельного исполнения.
Полученные результаты определяют линейную зависимость времени выполнения расчетов от числа дополнительных переменных и числа типов пузырей. Рост времени при фиксированном значении одного из параметров зависит от значения второго параметра и количества потоков. При минимальных значениях параметров (I = 1, 1 = 0) время выполнения программы не меняется. При максимальных значениях параметров (I = 30, 1 = 20) параллельный вариант позволяет получить выигрыш во времени в 3,6 раза по сравнению с нерас-параллеленной реализацией.
При фиксированном числе типов пузырей время работы программы достигает минимума при распараллеливании программы на число потоков, равное числу типов пузырей.
При фиксированном числе дополнительных переменных время работы программы достигает минимума при распараллеливании программы на число потоков, равное числу на единицу большему числа дополнительных переменных. Последующее увеличение числа потоков сокращает время выполнения задачи на 1—3 %. Данные ограничения определяются в первую очередь структурой алгоритма решения уравнения предложенной математической модели. Очевидно, что время выполнения последовательных ветвей алгоритма будет постоянно, независимо от числа выделенных потоков.
Характер функции времени выполнения
программы определяют алгоритмические решения численных методов, реализованных в программе. Наблюдаемые участки насыщения этой функции, на которых практически отсутствует зависимость от числа выделенных потоков, определяются особенностями конкретной реализации блока «многофазность» в данной версии программы. Дальнейшее сокращение времени решения задачи возможно при более глубокой модификации базового алгоритма, внесении в него большего числа фрагментов, ориентированных на параллельное исполнение.
Статья поддержана грантом РФФИ № 16-29-04319.
список литературы
1. Chernyshev A.S., Schmidt A.A. Numerical modeling of gravity driven bubble flows with account of polydispersion // Journal of Physics. Conference Series. 2016. Vol. 754. No. 3. 032005.
2. Chernyshev A.S., Schmidt A.A. Using the Euler-Euler approach for mathematical modeling of turbulent flows in bubbly media // Tech. Phys. Lett. 2013. Vol. 39(6). Pp. 548-51.
3. Lain S., Bröder D., Sommerfeld M., Gnz M.F. Modelling hydrodynamics and turbulence in a bubble column using the Euler-Lagrange procedure // Internat. J. of Multiphase Flow. 2002. Vol. 28. Issue 8. Pp. 1381-1407. URL: http://dx.doi. org/10.1016/S0301-9322(02)00028-9.
4. Lain S., Sommerfeld M. Characterisation of pneumatic conveying systems using the Euler/ Lagrange approach // Powder Technology. 2013. Vol. 235. Pp. 764-782. URL: http://dx.doi. org/10.1016/j.powtec.2012.11.029.
5. Dietzel M., Sommerfeld M. Numerical calculation of flow resistance for agglomerates with different morphology by the Lattice-Boltzmann Method // Powder Technology. 2013. Vol. 250. Pp. 122-137. URL: http://dx.doi.org/10.1016/). powtec.2013.09.023.
6. Petrov N.V., Schmidt A.A. Multiphase phenomena in underwater explosion // Experimental Thermal and Fluid Science. 2015. Vol. 60. Pp. 367-373
7. Pakhomov M.A., Terekhov V.I. Modeling of turbulent structure of an upward polydisperse gasliquid flow // Fluid Dynamics. 2015. Vol. 50(2). Pp. 229-239
8. Pakhomov M.A., Terekhov V.I. Application of the Eulerian approach to simulating the structure of an upward monodisperse bubbly flow in a tube // J. of Applied Mechanics and Technical Physics.
2016. Vol. 57(3). Pp. 432-440.
9. Bannari R., Kerdouss F., Selma B., Bannari A.,
Proulx P. Three-dimensional mathematical modeling of dispersed two-phase flow using class method of population balance in bubble columns // Comp. and Chem. Eng. 2008. Vol. 32. Pp. 3224-37.
10. Morel Ch., Ruyer P., Seiler N., LavievMe J.M. Comparison of several models for multi-size bubbly flows on an adiabatic experiment // Internat. J. of Multiphase Flow. 2010. Vol. 36. Pp. 25-39.
11. Rzehak R., Kriebitzsch S. Multiphase CFD-simulation of bubbly pipe flow: A code comparison // International Journal of Multiphase Flow. 2015. Vol. 68. Pp. 135-152.
12. Uhlmann M. Interface-resolved direct numerical simulation of vertical particulate channel flow in the turbulent regime // Physics of Fluids. 2008. Vol. 20. 053305.
13. Bunner B., Tryggvason G. Effect of bubble deformation on the properties of bubbly flows // J. of Fluid Mechanics. 2003. Vol. 495. Pp. 77-118.
14. Aboulhasanzadeh B., Thomas S., Taeibi-Rahni M., Tryggvason G. Multiscale computations of mass transfer from buoyant bubbles // Chemical Engineering Science. Vol. 75. Pp. 456-467.
15. Wenjie Weia, Omar al-Khayata, Xing Caia An OpenMP-enabled parallel simulator for particle transport in fluid flows // Procedia Computer Science. 2011. Vol. 4. Pp. 1475-1484.
16. Yakubov S., Cankurt B., Abdel-Maksoud M., Rung Th. Hybrid MPI/OpenMP parallelization of an Euler-Lagrange approach to cavitation modelling // Computers & Fluids. 2013. Vol. 80. Pp. 365-371.
17. Xiaohu Guo, Lange M., Gorman G., Mitchell
L., Weiland M. Developing a scalable hybrid MPI/ OpenMP unstructured finite element model // Computers & Fluids. 2015. Vol. 110. Pp. 227-234.
18. Krepper E., Lucas D., Frank Th., Prasser H.-M., Zwart Ph.J. The inhomogeneous MUSIG model for the simulation of polydispersed flows // Nuclear Engineering and Design. 2008. Vol. 238. Pp. 1690-1702.
19. Tarik Kaya Analysis of vapor-gas bubbles in a single artery heat pipe // Internat. J. of Heat and Mass Transfer. 2009. Vol. 52(25-26). Pp. 5731-5739.
20. Lau Y.M., Roghair I., Deen N.G., van Sint Annaland M., Kuipers J.A.M. Numerical
investigation of the drag closure for bubbles in bubble swarms // Chemical Engineering Science. 2011. Vol. 66. Pp. 3309-3316.
21. Akio Tomiyamaa, Hidesada Tamaia, Iztok Zunb, Shigeo Hosokawaa Transverse migration of single bubbles in simple shear flows // Chemical Engineering Science. 2002. Vol. 57. Pp. 1849-1858.
22. Суперкомпьютерный центр «Политехнический». Ресурсы СКЦ. Санкт-Петербургский политехнический университет Петра Великого. URL: http://www.scc.spbstu.ru/index.php/resources (Дата обращения: 10.01.2017).
references
1. Chernyshev A.S., Schmidt A.A. Numerical modeling of gravity driven bubble flows with account of polydispersion. Journal of Physics: Conference Series, 2016, Vol. 754, No. 3, 032005.
2. Chernyshev A.S., Schmidt A.A. Using the Euler-Euler approach for mathematical modeling of turbulent flows in bubbly media. Tech. Phys. Lett., 2013, Vol. 39(6), Pp. 548-51.
3. Lain S., Bröder D., Sommerfeld M., Gnz M.F. Modelling hydrodynamics and turbulence in a bubble column using the Euler-Lagrange procedure. International Journal of Multiphase Flow, 2002, Vol. 28, Issue 8, Pp. 1381-1407. Available: http:// dx.doi.org/10.1016/S0301-9322(02)00028-9.
4. Lain S., Sommerfeld M. Characterisation of pneumatic conveying systems using the Euler/ Lagrange approach. Powder Technology, 2013, Vol. 235, Pp. 764-782. Available: http://dx.doi. org/10.1016/j.powtec.2012.11.029.
5. Dietzel M., Sommerfeld M. Numerical calculation of flow resistance for agglomerates with different morphology by the Lattice-Boltzmann Method. Powder Technology, 2013, Vol. 250, Pp. 122-137. Available: http://dx.doi.org/10.1016/). powtec.2013.09.023.
6. Petrov N.V., Schmidt A.A. Multiphase phenomena in underwater explosion. Experimental Thermal and Fluid Science, 2015, Vol. 60, Pp. 367-373.
7. Pakhomov M.A., Terekhov V.I. Modeling of turbulent structure of an upward polydisperse gas-liquid flow. Fluid Dynamics, 2015, Vol. 50(2), Pp. 229-239.
8. Pakhomov M.A., Terekhov V.I. Application of the Eulerian approach to simulating the structure of an upward monodisperse bubbly flow in a tube. Journal of Applied Mechanics and Technical Physics, 2016, Vol. 57(3), Pp. 432-440.
9. Bannari R., Kerdouss F., Selma B., Bannari A., Proulx P. Three-dimensional mathematical
modeling of dispersed two-phase flow using class method of population balance in bubble columns. Comp. and Chem. Eng., 2008, Vol. 32, Pp. 3224-37.
10. Morel Ch., Ruyer P., Seiler N., Lavieville J.M. Comparison of several models for multi-size bubbly flows on an adiabatic experiment. International Journal of Multiphase Flow, 2010, Vol. 36. Pp. 25-39.
11. Rzehak R., Kriebitzsch S. Multiphase CFD-simulation of bubbly pipe flow: A code comparison. International Journal of Multiphase Flow, 2015, Vol. 68, Pp. 135-152.
12. Uhlmann M. Interface-resolved direct numerical simulation of vertical particulate channel flow in the turbulent regime. Physics of Fluids, 2008, Vol. 20, 053305.
13. Bunner B., Tryggvason G. Effect of bubble deformation on the properties of bubbly flows. Journal of Fluid Mechanics, 2003, Vol. 495, Pp. 77-118.
14. Aboulhasanzadeh B., Thomas S., Taeibi-Rahni M., Tryggvason G. Multiscale computations of mass transfer from buoyant bubbles. Chemical Engineering Science, Vol. 75, Pp. 456-467.
15. Wenjie Weia, Omar al-Khayata, Xing Caia An OpenMP-enabled parallel simulator for particle transport in fluid flows, Procedia Computer Science, 2011, Vol. 4, Pp. 1475-1484.
16. Yakubov S., Cankurt B., Abdel-Maksoud M., Rung Th. Hybrid MPI/OpenMP parallelization of an Euler-Lagrange approach to cavitation modelling, Computers & Fluids, 2013, Vol. 80, Pp. 365-371.
17. Xiaohu Guo, Lange M., Gorman G., Mitchell L., Weiland M. Developing a scalable hybrid MPI/OpenMP unstructured finite element model. Computers & Fluids, 2015, Vol. 110, Pp. 227-234.
18. Krepper E., Lucas D., Frank Th., Prasser H.-M., Zwart Ph.J. The inhomogeneous MUSIG model for the simulation of polydispersed flows.
Nuclear Engineering and Design, 2008, Vol. 238, Pp. 1690-1702.
19. Tarik Kaya Analysis of vapor-gas bubbles in a single artery heat pipe. International Journal of Heat and Mass Transfer, 2009, Vol. 52(25-26), Pp. 5731-5739.
20. Lau Y.M., Roghair I., Deen N.G., van Sint Annaland M., Kuipers J.A.M. Numerical investigation of the drag closure for bubbles in
bubble swarms. Chemical Engineering Science, 2011, Vol. 66, Pp. 3309-3316.
21. Akio Tomiyamaa, Hidesada Tamaia, Iztok Zunb, Shigeo Hosokawaa Transverse migration of single bubbles in simple shear flows. Chemical Engineering Science, 2002, Vol. 57, Pp. 1849-1858.
22. Supercomputer center «Politekhnicheskiy». Available: http://www.scc.spbstu.ru/index.php/ resources (Accessed: 10.01.2017).
сведения об авторах / the authors
КуРОЧКИН Леонид Михайлович KUROCHKIN Leonid M.
E-mail: [email protected]
ЧЕРНышЕВ Александр Сергеевич CHERNYSHEV Alexandr S.
E-mail: [email protected]
КуРОЧКИН Михаил Александрович KUROCHKIN Mikhail A.
E-mail: [email protected]
ДОМРАЧЕВ Денис Антонович DOMRACHEV Denis A.
E-mail: [email protected]
Прохоров Максим Викторович PROKHOROV Maksim V.
E-mail: [email protected]
Статья поступила в редакцию 09.02.2017 © Санкт-Петербургский политехнический университет Петра Великого, 201 6