Журнал вычислительной математики и математической физики, 2021, T. 61, № 4, стр. 644-657

Развитие ускоренного метода граничных элементов для трехмерного моделирования динамики пузырькового кластера с примесями твердых частиц в акустическом поле

И. А. Зарафутдинов *, Ю. А. Питюк **, О. А. Солнышкина ***

Центр микро- и наномасштабной динамики дисперсных систем, ФГБОУ, Башкирский государственный университет
450076 Уфа, ул. Заки Валиди, 32, Россия

* E-mail: ilnurzaraf2@gmail.com
** E-mail: pityukyulia@gmail.com
*** E-mail: olgasolnyshkina@gmail.com

Поступила в редакцию 13.05.2020
После доработки 13.08.2020
Принята к публикации 18.11.2020

Полный текст (PDF)

Аннотация

В работе представлен эффективный численный подход для исследования динамики кластера, содержащего пузырьки и твердые частицы, под действием акустического поля в трехмерном случае. Численный подход включает в себя комбинацию метода граничных элементов и быстрого метода мультиполей для уравнения Лапласа. Аппаратное ускорение расчетов пузырькового кластера с примесями твердых частиц достигается путем применения технологии распараллеливания на графических процессорах. Эффективность разработанного метода подтверждается демонстрационными расчетами для структурированного кубического кластера из пузырьков и твердых сферических частиц. Проведен анализ динамики пузырькового кластера с примесями в зависимости от его размера и показано, что с увеличением размера кластера уменьшаются мобильность пузырьков и частиц, амплитуда изменения объема кластера и отдельных пузырьков, а также деформация крайних пузырьков кластера. Библ. 28. Фиг. 6. Табл. 1.

Ключевые слова: пузырек, твердая частица, акустическое поле, потенциальное течение, метод граничных элементов, быстрый метод мультиполей, графические процессоры.

1. ВВЕДЕНИЕ

Нефтегазовая, медицинская, экологическая и другие отрасли промышленности требуют внедрения новых технологий, которые могут быть разработаны на основе фундаментальных исследований в микрофлюидике. Это обусловлено тем, что поведение макросистем очень сложнo и во многом определяeтся гидродинамическими процессами на микроуровне, которые зависят от поведения отдельных микрочастиц. В связи с чем актуальной является задача анализа динамики отдельных микрообъектов, таких как пузырьки и твердые частицы в поле внешних сил.

В настоящее время существует большое число теоретических [1], [2] и экспериментальных [3], [4] работ, в которых рассматривается взаимодействие пузырька и частицы, находящихся на расстоянии, равном или большем размера самих объектов. Обзор по взаимодействию частицы и пузырька, находящихся на значительном расстоянии друг от друга, можно найти в работе [5].

В последние годы исследователи начали использовать методы вычислительной гидродинамики для эффективного моделирования столкновений пузырьков и частиц во флотационной машине [6], [7]. Несмотря на то что эти модели имеют прикладное значение, многие фундаментальные физические явления, такие как движение пузырьков и частиц, возникающие межфазные силы и процесс дренирования пленки, полностью не изучены. Однако учет межфазных сил является важным фактором при взаимодействии между частицей и пузырьком. В работе [8] теоретически исследована роль гидродинамических и поверхностных сил при взаимодействии пузырька и частицы, и обнаружено существование гидрофобных сил притяжения между поверхностностями, покрытыми поверхностно-активными веществами. В [14] на основе теоретической модели рассчитана гидродинамическая силa, действующая со стороны жидкости на частицу. С изобретением атомно-силового микроскопа многие ученые начали экспериментально изучать межмолекулярные силы взаимодействия, возникающие между пузырьком и частицей [10], [11]. В [12] представлен численно-экспериментальный анализ сил взаимодействия при столкновении всплывающего пузырька с падающей твердой частицей в дистиллированной воде и растворе глицерина. В работах [13], [14] экспериментально изучали процесс прилипания частицы к поверхности большого воздушного пузырька. В [15] проведены аналогичные эксперименты по изучению траектории пузырьков на поверхности большой неподвижной частицы.

Для более полного понимания механизмов взаимодействия пузырьков и частиц при флотационном процессе необходимо рассматривать не только динамику нескольких микрообъектов, но и их кластера. Однако в большинстве теорий, описывающих совместную динамику пузырьков и частиц, трехмерными эффектами пренебрегается, (например, [16]), не учитывается деформация пузырьков, тем самым поток движения жидкости вокруг пузырька и частицы сильно идеализирован. В связи с этим актуальны создание математических моделей и реализация соответствующих программных модулей на базе эффективных методов и алгоритмов в трехмерном случае, которые более адекватно описывают рассматриваемые физические процессы. Основным масштабируемым алгоритмом, используемым в работе, является быстрый метод мультиполей (БММ), который признан одним из 10 лучших алгоритмов 20-го века [17]. Этот метод был разработан в конце 1980-х годов для решения задачи гравитации N-тел и имеет сложность O(N) или O(N logN) [18]. БММ стал одним из самых мощных алгоритмов для решения уравнений Лапласа, Гельмгольца, Стокса, Максвелла и других классических уравнений математической физики. При решении краевых задач он может быть эффективно использован с методом граничных элементов (МГЭ) [19], [20], преимущество которого заключается в возможности отслеживать динамику межфазных границ путем дискретизации поверхности раздела фаз треугольными элементами, что является особенно ценным при моделировании деформируемых пузырьков. БММ допускает возможность получения дополнительного ускорения за счет распараллеливания на графических и центральных процессорах [21]. Наиболее современные работы по применению МГЭ для изучения взаимодействия твердой частицы с пузырьком представлены в [22], [23]. Однако в рассмотренных работах использовалась двумерная постановка и рассматривались большие пузырьки, возникающие при подводном взрыве.

В [24] успешно использовалась комбинация МГЭ и БММ для изучения динамики кластера пузырьков, содержащего более 2 млн расчетных узлов. В отличие от [24] гранично-интегральная формулировка для пузырькового кластера с примесями твердых частиц является более сложной [25]. Однако в ее основе по-прежнему лежат формулы Грина для оператора Лапласа, что позволяет переписать гранично-интегральные уравнения в терминах потенциала простого и двойного слоя. Далее будем называть ядра интегрального представления решений уравнения Лапласа через потенциалы простого и двойного слоя ядрами Лапласа. Таким образом, решение матрично-векторных уравнений для рассматриваемой задачи можно свести к вычислению ядер Лапласа, для которых наиболее эффективно применение БММ.

В работе [25] представлена модификация гранично-интегральной постановки для случая совместной динамики пузырьков и твердых сферических частиц, а также реализовано одно из решений по ускорению кода с применением графических процессоров. Однако распараллеливание кода только на графических процессорах не позволило достичь желаемого результата из-за квадратичной сложности алгоритма. Более того, при реализации кода в [25] не учитывалось представление через ядра Лапласа, а отдельно были построены схемы расчета для левой и правой части системы линейных алгебраических уравнений (СЛАУ). В связи с этим в данной работе для ускорения расчетов и увеличения масштаба задачи совместной динамики пузырьков и частиц в акустическом поле предложен новый эффективный подход, основанный на представлении левой и правой части СЛАУ через потенциалы двойного и простого слоя. Преимущество такого подхода заключается также в возможности применения БММ, который существенно уменьшает сложность вычисления матрично-векторных произведений (МВП) с матрицами специального вида.

2. ПОСТАНОВКА ЗАДАЧИ

Рассмотрим движение пузырька (обозначим индексом “b”) объема Vb, ограниченного поверхностью Sb, и твердой частицы (обозначим индексом “p”) объема Vp, ограниченного поверхностью Sp, в неограниченной идеальной несжимаемой жидкости. Движение жидкости в гравитационном поле ускорения g описывается уравнениями Эйлера

(1)
${{{{\rho }}}_{l}}\frac{{d{\mathbf{v}}}}{{dt}} = - \nabla p + {{{{\rho }}}_{l}}{\mathbf{g}},\quad \nabla \cdot {\mathbf{v}} = 0,\quad \frac{d}{{dt}} = \frac{\partial }{{\partial t}} + {\mathbf{v}} \cdot \nabla ,$
где p, v, ρl – давление в жидкости, скорость и плотность соответственно. Далее предполагается, что жидкость покоится на бесконечности, давление на бесконечности определяется согласно действующему акустическому полю P(t) = p0+ Pasin(ωt), где p0, Pa, ω – начальное давление в жидкости, амплитуда и циклическая частота акустического поля соответственно.

Обозначим через rb и rp радиус-векторы точек на поверхностях Sb и Sp, а через nb и np – нормали к этим точкам (направленные в жидкость) соответственно. Тем самым можно записать кинематические условия на поверхности пузырька и частицы

(2)
${{{\mathbf{n}}}_{b}} \cdot {{\left. {\mathbf{v}} \right|}_{{r = {{r}_{b}}}}} = {{{\mathbf{n}}}_{b}} \cdot \frac{{d{{{\mathbf{r}}}_{b}}}}{{dt}},\quad {{{\mathbf{n}}}_{p}} \cdot {{\left. {\mathbf{v}} \right|}_{{r = {{r}_{p}}}}} = {{{\mathbf{n}}}_{p}} \cdot \frac{{d{{{\mathbf{r}}}_{p}}}}{{dt}}.$

Будем считать, что газ внутри пузырька ведет себя политропно с показателем политропы κ, тогда давление на границе пузырька вычисляется по формуле

${{\left. p \right|}_{{{{s}_{b}}}}} = {{p}_{g}} - 2{{\gamma }}k,\quad {{p}_{g}} = {{p}_{{g0}}}{{\left( {\frac{{{{V}_{{b0}}}}}{{{{V}_{b}}}}} \right)}^{\kappa }},$
где γ – коэффициент поверхностного натяжения, k – средняя кривизна поверхности, pg – давление в газе (индексом “0” обозначено начальное состояние).

Динамика твердого тела может быть описана следующим образом. Обозначим координаты и скорость центра масс частицы как Rp и Vp соответственно. Тогда поступательную скорость сферической частицы запишем в виде

(3)
$\frac{{d{{{\mathbf{R}}}_{p}}}}{{dt}} = {{{\mathbf{V}}}_{p}}.$

Для замыкания системы уравнений необходимо вычислить силу Fp, действующую на частицу, которая имеет две компоненты, первая – гравитационная (массовая) и, вторая, действующая со стороны жидкости (поверхностная):

(4)
${{{\mathbf{F}}}_{p}} = {{m}_{p}}{\mathbf{g}} - \int\limits_{{{S}_{p}}} {p{\mathbf{n}}dS} .$

Кроме того, предполагается, что течение потенциальное, т.е. v = ϕ, где ϕ – потенциал скорости, который удовлетворяет уравнению Лапласа 2ϕ = 0. Тогда уравнение (1) для жидкости, покоящейся на бесконечности, можно переписать в форме интеграла Коши–Лагранжа, а потенциал скорости на границе пузырька и частицы определяется согласно динамическому условию

(5)
$\frac{{d\phi }}{{dt}} = \frac{1}{2}{{\left| {\nabla \phi } \right|}^{2}} - \frac{p}{{{{\rho }_{l}}}} + {{\left. {{\mathbf{g}} \cdot {\mathbf{r}}} \right|}_{s}} + P(t).$

Тогда кинематические граничные условия (2) в случае потенциального течения запишутся в следующем виде:

(6)
${{\left. {\frac{{\partial \phi }}{{\partial n}}} \right|}_{{{\mathbf{r}} = {{{\mathbf{r}}}_{b}}}}} = {{{\mathbf{n}}}_{b}} \cdot \frac{{d{{{\mathbf{r}}}_{b}}}}{{dt}},\quad {{\left. {\frac{{\partial \phi }}{{\partial n}}} \right|}_{{{\mathbf{r}} = {{{\mathbf{r}}}_{p}}}}} = {{{\mathbf{n}}}_{p}} \cdot \frac{{d{{{\mathbf{r}}}_{p}}}}{{dt}}.$

В отсутствиe частицы задача сводится к интегрированию формулы, которая позволяет определить давление на границе пузырька, если известны текущие позиции точек на поверхности пузырька. Если в некоторый момент времени известен потенциал на поверхности пузырька, то можно решить задачу Дирихле для уравнения Лапласа и определить нормальную производную потенциала скорости согласно условию (6). На основе чего можно найти положение поверхности пузырька на следующем шаге по времени. Потенциал скорости на следующем временном шаге можно вычислить согласно интегралу Коши–Лагранжа (5). Из первого условия (2) можно найти скорость движения поверхности пузырька. Однако разработанная схема не работает для твердого тела, так как давление на поверхности частицы не определяется только ее положением, как в случае с пузырьком. Интеграл Коши–Лагранжа может быть использован, чтобы определить давление на поверхности, но тогда сила, действующая на твердое сферическое тело, должна быть вычислена с помощью формулы (4). Таким образом, сила, действующая на частицу, зависит от нормальной производной потенциала скорости, а это означает, что потенциал на поверхности частицы не может быть найден, как в случае с пузырьком. Поэтому на каждом временном шагe необходимо решать задачу для нахождения потенциала скорости частицы.

Для решения поставленной задачи методом граничных элементов гранично-интегральную формулировку, описывающую динамику пузырьков [24], [26], необходимо модифицировать с учетом наличия твердой частицы [25].

Подставив в формулу (4) давление, выраженное через потенциал в соответствии с интегралом Коши–Лагранжа (5), получим

(7)
${{{\mathbf{F}}}_{p}} = ({{{{\rho }}}_{p}} - {{{{\rho }}}_{l}}){{V}_{p}}{\mathbf{g}} + {{{{\rho }}}_{l}}\int\limits_{{{S}_{p}}} {\left( {\frac{{\partial \phi }}{{\partial t}} + \frac{1}{2}{{{\left| {\nabla \phi } \right|}}^{2}}} \right){\mathbf{n}}dS} .$

Используя (7), уравнение движения частицы можно записать в гранично-интегральной форме

(8)
$\frac{{d{{{\mathbf{V}}}_{p}}}}{{dt}} = \left( {1 - \frac{{{{{{\rho }}}_{l}}}}{{{{\rho }_{p}}}}} \right){\mathbf{g}} + \frac{{{{{{\rho }}}_{l}}}}{{{{m}_{p}}}}\left[ {\frac{d}{{dt}}\int\limits_{{{S}_{p}}} {\phi {\mathbf{n}}dS} + \int\limits_{{{S}_{p}}} {\left( {\frac{1}{2}{{{\left| {\nabla \phi } \right|}}^{2}}{\mathbf{n}} - \frac{{\partial \phi }}{{\partial n}}\nabla \phi } \right)dS} } \right].$

Введя новую переменную

(9)
${{{\mathbf{U}}}_{p}} = {{{\mathbf{V}}}_{p}} - \frac{{{{{{\rho }}}_{l}}}}{{{{m}_{p}}}}\int\limits_{{{S}_{p}}} {\phi {\mathbf{n}}dS} ,$
гранично-интегральное уравнение (8) можно переписать в виде

(10)
$\frac{{d{{{\mathbf{U}}}_{p}}}}{{dt}} = \left( {1 - \frac{{{{{{\rho }}}_{l}}}}{{{{{{\rho }}}_{p}}}}} \right){\mathbf{g}} + \frac{{{{{{\rho }}}_{l}}}}{{{{m}_{p}}}}\int\limits_{{{S}_{p}}} {\left( {\frac{1}{2}{{{\left| {\nabla \phi } \right|}}^{2}}{\mathbf{n}} - \frac{{\partial \phi }}{{\partial n}}\nabla \phi } \right)dS} .$

Соотношение (6) с учетом (2) и (9) может быть приведено к виду

(11)
$q\left( {\mathbf{y}} \right) = {\mathbf{n}}\left( {\mathbf{y}} \right) \cdot \frac{{{{{{\rho }}}_{l}}}}{{{{m}_{p}}}}\mathop \smallint \limits_{{{S}_{p}}} \phi \left( {\mathbf{x}} \right){\mathbf{n}}\left( {\mathbf{x}} \right)dS\left( {\mathbf{x}} \right) + {{{\mathbf{U}}}_{p}} \cdot {\mathbf{n}}\left( {\mathbf{y}} \right){\text{,}}\quad {\mathbf{y}} \in {{S}_{p}}.$

Уравнение (11) позволяет исключить производную потенциала скорости по нормали к поверхности частицы и приводит к следующему граничному интегральному уравнению:

(12)
$\frac{1}{2}\phi \left( {\mathbf{y}} \right) = {{M}_{b}}\left[ \phi \right]\left( {\mathbf{y}} \right) - {{L}_{b}}\left[ q \right]\left( {\mathbf{y}} \right) + {{M}_{p}}\left[ \phi \right]\left( {\mathbf{y}} \right) - {{Q}_{p}}\left[ \phi \right]\left( {\mathbf{y}} \right) - {{H}_{p}}\left( {\mathbf{y}} \right),\quad {\mathbf{y}} \in S = {{S}_{p}} \cup {{S}_{b}},$
где
(13)
$\begin{gathered} {{Q}_{p}}\left[ \phi \right]\left( {\mathbf{y}} \right) = \mathop \smallint \limits_{{{S}_{p}}} {{\Theta }}\left( {{\mathbf{y}},{\mathbf{x}}} \right)\phi \left( {\mathbf{x}} \right)dS\left( {\mathbf{x}} \right),\quad {{\Theta }}\left( {{\mathbf{y}},{\mathbf{x}}} \right) = \frac{{{{{{\rho }}}_{l}}}}{{{{m}_{p}}}}{{{\mathbf{N}}}_{p}}\left( {\mathbf{y}} \right) \cdot {\mathbf{n}}\left( {\mathbf{x}} \right), \\ {{H}_{p}}\left( {\mathbf{y}} \right) = {{{\mathbf{U}}}_{p}} \cdot {{{\mathbf{N}}}_{p}}\left( {\mathbf{y}} \right),\quad {{{\mathbf{N}}}_{p}}\left( {\mathbf{y}} \right) = \mathop \smallint \limits_{{{S}_{p}}} {\mathbf{n}}\left( {\mathbf{x}} \right)G\left( {{\mathbf{y}},{\mathbf{x}}} \right)dS({\mathbf{x}}), \\ \end{gathered} $
$L[q]$ и $M[\phi ]$ – потенциалы простого и двойного слоя соответственно
(14)
$\begin{gathered} {{L}_{i}}\left[ q \right]\left( {\mathbf{y}} \right) = \mathop \smallint \limits_{{{S}_{i}}} q\left( {\mathbf{x}} \right)G\left( {{\mathbf{y}},{\mathbf{x}}} \right)dS\left( {\mathbf{x}} \right), \\ {{M}_{i}}\left[ \phi \right]\left( {\mathbf{y}} \right) = \mathop \smallint \limits_{{{S}_{i}}} \phi \left( {\mathbf{x}} \right)\frac{{\partial G\left( {{\mathbf{y}},{\mathbf{x}}} \right)}}{{\partial n\left( {\mathbf{x}} \right)}}dS({\mathbf{x}}),\quad i = b,p, \\ \end{gathered} $
где $G\left( {{\mathbf{y}},{\mathbf{x}}} \right)$ и $\frac{{\partial G\left( {{\mathbf{y}},{\mathbf{x}}} \right)}}{{\partial n\left( {\mathbf{x}} \right)}}$ – фундаментальное решение уравнения Лапласа и его нормальная производная:

(15)
$G\left( {{\mathbf{y}},{\mathbf{x}}} \right) = \frac{1}{{4\pi r}},\quad \frac{{\partial G\left( {{\mathbf{y}},{\mathbf{x}}} \right)}}{{\partial n\left( {\mathbf{x}} \right)}} = \frac{{{\mathbf{n}} \cdot {\mathbf{r}}}}{{4\pi {{r}^{3}}}},\quad {\mathbf{r}} = {\mathbf{y}} - {\mathbf{x}},\quad r = \left| {{\mathbf{y}} - {\mathbf{x}}} \right|.$

Если потенциал и его нормальная производная известны в момент времени t на поверхности S(t) = Sb(t) ∪ Sp(t), то новые координаты точек и потенциал скорости на поверхности пузырька могут быть вычислены на следующем временном шагe. Неизвестные значения нормальной производной на поверхности пузырька ${{q}_{b}}$ и значения потенциала на поверхности частицы ${{\phi }_{p}}$ могут быть найдены из интегрального уравнения (12), если известны значения потенциала на поверхности пузырька ${{\phi }_{b}}$ в соответствующих точках

(16)
$\begin{gathered} {{L}_{b}}\left[ {{{q}_{b}}} \right]\left( {\mathbf{y}} \right) + \left( {{{Q}_{p}} - {{M}_{p}}} \right)\left[ {{{\phi }_{p}}} \right]\left( {\mathbf{y}} \right) = \left( {{{M}_{b}} - \frac{1}{2}I} \right)\left[ {{{\phi }_{b}}} \right]\left( {\mathbf{y}} \right) - {{H}_{p}}\left( {\mathbf{y}} \right),\quad {\mathbf{y}} \in {{S}_{b}}, \\ {{L}_{b}}\left[ {{{q}_{b}}} \right]\left( {\mathbf{y}} \right) + \left( {{{Q}_{p}} - {{M}_{p}} + \frac{1}{2}I} \right)\left[ {{{\phi }_{p}}} \right]\left( {\mathbf{y}} \right) = {{M}_{b}}\left[ {{{\phi }_{b}}} \right]\left( {\mathbf{y}} \right) - {{H}_{p}}\left( {\mathbf{y}} \right),\quad {\mathbf{y}} \in {{S}_{p}}. \\ \end{gathered} $

Таким образом, задача сводится к решению системы дифференциальных уравнений (СДУ) (5) и (6) для пузырька, (3) и (10) для частицы, которые на первых временных шагах решаются методом Рунге–Кутты 4-го порядка, а затем методом Адамса–Башфорта 4-го порядка. Правая часть СДУ находится из решения гранично-интегрального уравнения (16).

Рассмотренная постановка легко обобщается на случай нескольких пузырьков и частиц. Однако размер пузырькового кластера с примесями твердых частиц должен быть меньше длины волны акустического поля.

3. ДИСКРЕТНЫЙ АНАЛОГ ГРАНИЧНО-ИНТЕГРАЛЬНЫХ УРАВНЕНИЙ

Численный подход основан на дискретизации поверхности пузырька и частицы треугольной сеткой. Очевидно, что точность метода зависит от качества сетки, в связи с чем предложено использовать триангуляцию Делоне [27]. Для вычисления граничных интегралов в (16) используется метод трапеций второго порядка точности, расчетные узлы располагаются в вершинах треугольных элементов. Таким образом, используя данные методы аппроксимации, уравнение (16) можно переписать в дискретной форме:

(17)
$\begin{gathered} \sum\limits_{i = 1}^{{{N}_{b}}} I_{{ij}}^{{(G)}}{{q}_{i}} + \sum\limits_{i = {{N}_{b}} + 1}^N \left( {I_{{ij}}^{{({{Q}_{p}})}} - I_{{ij}}^{{(\partial G/\partial n)}}} \right){{\phi }_{i}} = \sum\limits_{i = 1}^{{{N}_{b}}} \left( {I_{{ij}}^{{(\partial G/\partial n)}} - \frac{1}{2}I_{{ij}}^{{(I)}}} \right){{\phi }_{i}} - \sum\limits_{i = {{N}_{b}} + 1}^N I_{{ij}}^{{({{H}_{p}})}},\quad j = 1,...,{{N}_{b}}, \\ \sum\limits_{i = 1}^{{{N}_{b}}} I_{{ij}}^{{(G)}}{{q}_{i}} - \sum\limits_{i = {{N}_{b}} + 1}^N \left( {I_{{ij}}^{{({{Q}_{p}})}} - I_{{ij}}^{{(\partial G/\partial n)}} - \frac{1}{2}I_{{ij}}^{{(I)}}} \right){{\phi }_{i}} = \sum\limits_{i = 1}^{{{N}_{b}}} I_{{ij}}^{{(\partial G/\partial n)}}{{\phi }_{i}} - \sum\limits_{i = {{N}_{b}} + 1}^N I_{{ij}}^{{({{H}_{p}})}},\quad j = {{N}_{b}} + 1,...,N, \\ \end{gathered} $
где ${\mathbf{y}} = {{{\mathbf{x}}}_{j}}$, ${{N}_{b}},\;{{N}_{p}}$ – количество расчетных узлов на поверхности пузырьков и частиц соответственно, $N = {{N}_{b}} + {{N}_{p}}$ – общее количество расчетных узлов на поверхности объектов, ${{I}_{{ij}}}$ – тензор второго ранга, где верхний индекс соответствует оператору из (16), $j = 1,...,{{N}_{b}}$ относятся к узлам на поверхности пузырьков, $j = {{N}_{b}} + 1,...,N$ – к узлам на поверхности частиц.

Суть нового подхода заключается в представлении уравнения (16) через ядра уравнения Лапласа (14) и использовании ранее реализованных модулей для их расчета, которые показали свою эффективность для моделирования динамики структурированного пузырькового кластера [24].

Поскольку для расчета операторов ${{Q}_{p}}$ и ${{H}_{p}}$ в (13) используется ядро Лапласа $G({\mathbf{y}},{\mathbf{x}})$ (монополь), то представляется возможным переписать операторы в терминах оператора ${{L}_{p}}$

(18)
$\begin{gathered} {{Q}_{p}}\left[ \phi \right]\left( {\mathbf{y}} \right) = \frac{{{{{{\rho }}}_{l}}}}{{{{m}_{p}}}}\mathop \smallint \limits_{{{S}_{p}}} \left( {{{L}_{p}}\left[ {\mathbf{n}} \right]\left( {\mathbf{y}} \right) \cdot {\mathbf{n}}\left( {\mathbf{x}} \right)} \right)\phi \left( {\mathbf{x}} \right)dS\left( {\mathbf{x}} \right), \\ {{H}_{p}}\left( {\mathbf{y}} \right) = {{{\mathbf{U}}}_{p}} \cdot {{L}_{p}}\left[ {\mathbf{n}} \right]\left( {\mathbf{y}} \right),\quad {\mathbf{y}} \in S = {{S}_{p}} \cup {{S}_{b}}, \\ \end{gathered} $
где
${{L}_{p}}\left[ {\mathbf{n}} \right]\left( {\mathbf{y}} \right) = \mathop \smallint \limits_{{{S}_{p}}} {\mathbf{n}}\left( {\mathbf{x}} \right)G\left( {{\mathbf{y}},{\mathbf{x}}} \right)dS({\mathbf{x}}).$
Тогда тензоры второго ранга в (17), соответствующие операторам ${{Q}_{p}}$ и ${{H}_{p}}$, можно записать через диадик простого слоя
(19)
$\begin{array}{*{20}{c}} {\sum\limits_{i = {{N}_{b}} + 1}^N I_{{ij}}^{{({{Q}_{p}})}}{{\phi }_{i}} = \frac{{{{\rho }_{l}}}}{{{{m}_{p}}}}\sum\limits_{k = 1}^3 \sum\limits_{i = {{N}_{b}} + 1}^N I_{{ij}}^{{(G)}}\left( {n_{{ik}}^{2}{{\phi }_{i}}{{S}_{i}}} \right),} \\ {\sum\limits_{i = {{N}_{b}} + 1}^N I_{{ij}}^{{({{H}_{p}})}} = \sum\limits_{k = 1}^3 \sum\limits_{i = {{N}_{b}} + 1}^N I_{{ij}}^{{(G)}}\left( {{{n}_{{ik}}}{{{\widetilde U}}_{{ik}}}{{S}_{i}}} \right),} \end{array}$
где ${{n}_{{ik}}}$ есть k-компонента вектора нормали i-го узла, ${{S}_{i}}$ – площадь, относящаяся к i-му узлу, ${{\widetilde U}_{{ik}}}$ есть k-компонента вектора, отвечающего за скорость движения i-го узла, которая определяется согласно формуле (9). Стоит отметить, что скорость движения каждого узла на поверхности частицы совпадает со скоростью движения центра масс этой частицы.

Диагональные (сингулярные) элементы, соответствующие ядрам $G$ и $\partial G{\text{/}}\partial n$, вычисляются методом вычитания сингулярности на основе интегральных тождеств. Рассмотрим гармоническую и регулярную функцию $\Phi $ в замкнутой области $V$. Для такой функции справедлива формула Грина

(20)
$\frac{1}{2}\Phi \left( {\mathbf{y}} \right) = L\left[ Q \right]\left( {\mathbf{y}} \right) - M\left[ \Phi \right]\left( {\mathbf{y}} \right),\quad {\mathbf{y}} \in S,\quad Q = \frac{{\partial \Phi }}{{\partial n}}.$
В качестве такой функции можно взять $\Phi \left( {\mathbf{y}} \right) \equiv 1$. В этом случае $Q = 0$ и интегральное уравнение (20) перепишется в виде

(21)
$\frac{1}{2} = - M\left[ 1 \right]\left( {\mathbf{y}} \right),\quad M\left[ 1 \right]\left( {\mathbf{y}} \right) = \int\limits_S {\frac{{\partial G\left( {{\mathbf{y}},{\mathbf{x}}} \right)}}{{\partial n\left( {\mathbf{x}} \right)}}dS({\mathbf{x}})} .$

Таким образом, имеет место следующее тождество для определения сингулярных элементов ядра $\partial G{\text{/}}\partial n$ методом вычитания сингулярности

(22)
$\int_S \frac{{\partial G\left( {{\mathbf{x}},{\mathbf{y}}} \right)}}{{\partial n\left( {\mathbf{x}} \right)}}dS({\mathbf{x}}) = - \frac{1}{2}.$

Используя тождество (22), сингулярную и регулярную часть тензора $I_{{ij}}^{{(\partial G/\partial n)}}$, можно вычислить следующим образом:

(23)
$\begin{gathered} I_{{ij}}^{{(\partial G/\partial n)}} = {{S}_{i}}\frac{{\partial G\left( {{{{\mathbf{x}}}_{j}} - {{{\mathbf{x}}}_{i}}} \right)}}{{\partial n({{{\mathbf{x}}}_{i}})}},\quad i \ne j, \\ I_{{ii}}^{{(\partial G/\partial n)}} = - \frac{1}{2}I_{{ij}}^{{(I)}} - \sum\limits_{i \ne j} I_{{ij}}^{{(\partial G/\partial n)}},\quad i,j = 1,...,N. \\ \end{gathered} $

Для определения сингулярных элементов ядра $G$ рассматриваются следующие тестовые функции ${{\Phi }_{1}}\left( {\mathbf{y}} \right) \equiv x,$ ${{\Phi }_{2}}\left( {\mathbf{y}} \right) \equiv y,$ ${{\Phi }_{3}}\left( {\mathbf{y}} \right) \equiv z$, которые также являются гармоническими и регулярными в замкнутой области $V$, где $\left( {x,y,z} \right)$ – декартовы координаты точки ${\mathbf{y}}$. Тогда нормальная производная данных функций по поверхности $S$ будет следующей ${{Q}_{1}}\left( {\mathbf{x}} \right) \equiv {{n}_{x}}\left( {\mathbf{x}} \right),$ ${{Q}_{2}}\left( {\mathbf{x}} \right) \equiv {{n}_{y}}\left( {\mathbf{x}} \right),$ ${{Q}_{3}}\left( {\mathbf{x}} \right) \equiv {{n}_{z}}\left( {\mathbf{x}} \right)$ (т.е. компоненты нормали ${\mathbf{n = }}\left( {{{n}_{x}},{{n}_{y}},{{n}_{z}}} \right)$ в точке ${\mathbf{x}}$). Таким образом, используя формулу Грина, получаем тождества

(24)
$\begin{array}{*{20}{c}} {\frac{1}{2}x = L\left[ {{{n}_{x}}} \right]\left( {\mathbf{y}} \right) - M\left[ x \right]\left( {\mathbf{y}} \right),} \\ {\frac{1}{2}y = L\left[ {{{n}_{y}}} \right]\left( {\mathbf{y}} \right) - M\left[ y \right]\left( {\mathbf{y}} \right),} \\ {\frac{1}{2}z = L\left[ {{{n}_{z}}} \right]\left( {\mathbf{y}} \right) - M\left[ z \right]\left( {\mathbf{y}} \right).} \end{array}$
Приведя тождества (24) к дискретному виду, получим переопределенную систему для расчета сингулярных элементов тензора $I_{{ij}}^{{(G)}}$:
(25)
${{F}_{j}}I_{{ij}}^{{(G)}} = {{C}_{j}},\quad j = 1,...,N,$
где ${{F}_{j}}$ и ${{C}_{j}}$ определяются в виде
(26)
$\begin{gathered} {{F}_{j}} = - \left( {n_{x}^{j};n_{y}^{j};n_{z}^{j}} \right), \\ {{C}_{j}} = \left( {\begin{array}{*{20}{c}} {\widetilde I_{{ij}}^{{(G)}}n_{x}^{i} - \left( {I_{{ij}}^{{(\partial G/\partial n)}} + \frac{1}{2}I_{{ij}}^{{(I)}}} \right){{x}_{i}}} \\ {\widetilde I_{{ij}}^{{(G)}}n_{y}^{i} - \left( {I_{{ij}}^{{(\partial G/\partial n)}} + \frac{1}{2}I_{{ij}}^{{(I)}}} \right){{y}_{i}}} \\ {\widetilde I_{{ij}}^{{(G)}}n_{z}^{i} - \left( {I_{{ij}}^{{(\partial G/\partial n)}} + \frac{1}{2}I_{{ij}}^{{(I)}}} \right){{z}_{i}}} \end{array}} \right), \\ \end{gathered} $
в (26) $\widetilde I_{{ij}}^{{(G)}}$ – элементы тензора $I_{{ij}}^{{(G)}}$ с нулевыми диагональными элементами. Несингулярные элементы тензора $I_{{ij}}^{{(G)}}$ вычисляются как

(27)
$I_{{ij}}^{{(G)}} = {{S}_{i}}G\left( {{{{\mathbf{x}}}_{j}} - {{{\mathbf{x}}}_{i}}} \right),\quad i,j = 1,...,N,\quad i \ne j.$

Для расчета геометрических характеристик поверхности (нормали, площади, кривизна) используются алгоритмы и модули, описанные в [24]–[26].

4. ПРИМЕНЕНИЕ БЫСТРОГО МЕТОДА МУЛЬТИПОЛЕЙ

Тензорная формулировка (17) и (19) сводится к СЛАУ относительно неизвестных значений потенциала скорости ${{\phi }_{p}}$ на поверхности частиц и нормальной производной потенциала скорости ${{q}_{b}}$ на поверхности пузырьков:

(28)
$A{\mathbf{X}} = {\mathbf{b}},$
где A – расчетная матрица системы, X – вектор неизвестных и b – правая часть системы. Таким образом, при моделировании динамики Kb пузырьков и Kp частиц с общим числом узлов сетки $N = ({{K}_{b}} + {{K}_{p}}) \cdot \Delta N$ требуется решать СЛАУ размером N × N, где $\Delta N$ – количество узлов дискретизации одного дисперсного включения.

Очевидно, что с увеличением количества объектов в кластере прямые методы решения СЛАУ с кубической сложностью алгоритма не справляются. В работе [25] было предложено не хранить расчетные матрицы, а решать полученную СЛАУ с помощью итерационного метода минимальных невязок (GMRES) с расчетом МВП на графических процессорах с использованием технологии CUDA. Однако в данной реализации не использовалась декомпозиция всех МВП через ядра Лапласа, а отдельно рассчитывались левая и правая части (28). Более того, реализованный алгоритм расчета МВП имел квадратичную сложность, что делало его неэффективным для моделирования систем с количеством расчетных узлов более 38 000 [23]. В настоящей работе предложенная декомпозиция (17) и (19) позволяет ускорить расчеты и увеличить масштаб задачи за счет применения многоуровневого БММ, реализованного на гетерогенных вычислительных системах [21].

С учетом представления (17) и (19) для формирования левой части СЛАУ (28) необходимо четыре раза вызвать ядро Лапласа для потенциала простого слоя и один раз – для потенциала двойного слоя. Для расчета правой части СЛАУ (28) требуется три вызова ядра Лапласа для потенциала простого слоя и один вызов – для потенциала двойного слоя.

Особенность БММ состоит в декомпозиции всех матриц, формирующих СЛАУ (28) на разреженную и плотные матрицы:

(29)
$A{\mathbf{ = }}{{A}^{{{\text{sparse}}}}} + {{A}^{{{\text{dense}}}}}.$

В (29) разреженная матрица ${{A}^{{{\text{sparse}}}}}$ учитывает ближнее взаимодействие источников ${{{\mathbf{x}}}_{i}}$ и приемников ${{{\mathbf{y}}}_{j}}$, удовлетворяющих условию ${\text{|}}{{{\mathbf{y}}}_{j}} - {{{\mathbf{x}}}_{i}}{\kern 1pt} {\text{|}} < {{r}_{c}}$, где ${{r}_{c}}$ соответствует радиусу, в котором оценивается ближнее взаимодействие. Значение ${{r}_{c}}$ выбирается из необходимой точности и скорости расчета, порядок ${{r}_{c}}$ определяется расстоянием между расчетными узлами. Плотная матрица ${{A}^{{{\text{dense}}}}}$ учитывает дальнее взаимодействие ${\text{|}}{{{\mathbf{y}}}_{j}} - {{{\mathbf{x}}}_{i}}{\kern 1pt} {\text{|}} \geqslant {{r}_{c}}$. Отметим, что в МГЭ источники ${{{\mathbf{x}}}_{i}}$ и приемники ${{{\mathbf{y}}}_{j}}$ совпадают и являются узлами дискретизации. МВП ${{A}^{{{\text{sparse}}}}}{\mathbf{X}}$ вычисляется напрямую по формулам, представленным выше, в то время как МВП ${{A}^{{{\text{dense}}}}}{\mathbf{X}}$ вычисляется приближенно согласно мультипольному разложению в области с центром в точке ${{{\mathbf{x}}}_{*}}$ [28]

(30)
$A_{{ij}}^{{{\text{dense}}}} = \sum\limits_{l = 0}^{P_{{{\text{БММ}}}}^{2} - 1} {{S}_{l}}({{{\mathbf{y}}}_{j}} - {{{\mathbf{x}}}_{*}}){{R}_{l}}({{{\mathbf{x}}}_{i}} - {{{\mathbf{x}}}_{*}}) + O(\varepsilon ),$
где ${{S}_{l}}$ – сингулярные базисные функции, ${{R}_{l}}$ – регулярные базисные функции, которые выбираются из соображений удобства и скорости сходимости рядов [28]. В (30) рассматриваются только первые $P_{{{\text{БММ}}}}^{2}$ членов разложения, где $P_{{{\text{БММ}}}}^{{}}$ – параметр усечения, который определяет точность разложения $\varepsilon = \varepsilon (P_{{{\text{БММ}}}}^{2})$ и самого БММ.

При реализации многоуровневого БММ, кроме построения $S$ и $R$ разложений, используются также операторы трансляций. Трансляция разложений применяется для перехода от представления функции в одной области $\Omega $ с центром ${\mathbf{x}}{\kern 1pt} *$ к представлению функции в другой области $\Omega {\kern 1pt} '$ c центром ${\mathbf{x}}{\kern 1pt} *{\kern 1pt} ' = {\mathbf{x}}{\kern 1pt} * + \;{\mathbf{t}}$, где ${\mathbf{t}}$ – вектор трансляции. Применяя оператор трансляции $T({\mathbf{t}})$ к коэффициентам известного разложения в области $\Omega $ можно получить коэффициенты искомого разложения в области $\Omega {\kern 1pt} '$. В БММ различают три типа операторов трансляции $R\,{\text{|}}\,R$, $S\,{\text{|}}\,S$ и $S\,{\text{|}}\,R$, где первая буква означает тип начального разложения, а вторая – тип конечного разложения.

Для применения многоуровневого БММ необходимо сформировать структуру данных на основе иерархического алгоритма разбиения трехмерного пространства с помощью восьмеричного дерева. Начальный куб уровня 0 разбивается на 8 дочерних кубов, которым присваивается уровень 1. Процесс восьмеричного деления продолжается до некоторого максимального уровня, определяемого из соображений оптимизации. Детальное описание БММ можно найти в публикации [28].

МВП для ближнего взаимодействия вычисляется напрямую на GPU c использованием технологии CUDA, а МВП для дальнего взаимодействия вычисляется через оценку разложений и операторов трансляций на CPU с использованием технологии OpenMP. Точность и время расчета плотной матрицы зависят от количества элементов в разложении PБММ, чем больше значение этого параметра, тем больше времени требуется на вычисление этой части, но выше точность расчета дальнего взаимодействия [24], [26]. Реализация МВП на GPU позволяет снижать глубину иерархического дерева структуры данных, что обеспечивает дополнительное ускорение алгоритма [21].

5. РЕЗУЛЬТАТЫ ЧИСЛЕННОГО МОДЕЛИРОВАНИЯ

Все программные модули, кроме БММ, разработаны в среде Matlab. Расчеты проводились на персональном компьютере, оснащенном CPU Intel Xeon 5660, 2.8GHz, 12 GB RAM с 12 физическими и 12 виртуальными ядрами и GPU NVIDIA Tesla K20 (Kepler), 5GB глобальной памяти.

Расчеты выполнены для безразмерных параметров с характерными величинами: $L{\kern 1pt} * = {{r}_{{b0}}}$, $P{\kern 1pt} * = {{p}_{0}}$, $\rho {\kern 1pt} * = {{\rho }_{l}}$, $U{\kern 1pt} * = \sqrt {{{p}_{0}}{\text{/}}{{\rho }_{l}}} $, $T{\kern 1pt} * = L{\kern 1pt} *{\text{/}}U{\kern 1pt} * = {{r}_{{b0}}}{\text{/}}\sqrt {{{p}_{0}}{\text{/}}{{\rho }_{l}}} $. Согласно ограничениям математической модели, описывающей физические процессы для больших чисел Рейнольдса и малых капиллярных чисел, были выбраны следующие безразмерные параметры: $r_{{b0}}^{'} = 1$, $r_{p}^{'} = 1$, $\rho _{l}^{'} = 1$, $\rho _{p}^{'} = 2$, $p_{0}^{'} = 1$, $P_{a}^{'} = 1$, $\omega {\kern 1pt} '{\text{/}}(2\pi ) = 0.2$, $\gamma {\kern 1pt} ' = 0.073$, $\kappa {\kern 1pt} ' = 1.4$, $g{\kern 1pt} ' = 0$, обозначения которых соответствуют размерным параметрам, описанным выше.

Для тестирования производительности реализованного подхода рассматривался структурированный кластер пузырьков и частиц, сформированный из n × n × n кубов, каждый из которых содержит четыре пузырька и четыре частицы. Центры дисперсных включений расположены на расстоянии четырех радиусов. Пример такого куба, который соответствует кубическому кластеру с параметром n = 1, представлен на фиг. 1а, где серым цветом раскрашены пузырьки, а черным – частицы. На фиг. 1б представлена форма кластера, состоящая из 27 кубов (n = 3). Количество пузырьков и частиц в кластере размера n можно рассчитать по формуле ${{K}_{b}} = {{K}_{p}} = 4{{n}^{3}}$.

Фиг. 1.

Структура кубического кластера, состоящего из пузырьков (серый цвет) и твердых частиц (черный цвет) для n = 1 (а) и n = 3 (б).

Для оценки производительности кода в зависимости от точности расчетов рассматривалось 6 случаев.

1. БММ/CPU: расчет всех МВП БММ с вычислением ближнего взаимодействия на CPU, дальнего взаимодействия с точностью $\;{{P}_{{{\text{БММ}}}}} = 12$, решение СЛАУ с точностью$\;{{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 5}}}$.

2. БММ/CPU: расчет всех МВП БММ с вычислением ближнего взаимодействия на CPU, дальнего взаимодействия с точностью $\;{{P}_{{{\text{БММ}}}}} = 8$, решение СЛАУ с точностью$\;{{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 4}}}$.

3. БММ/GPU(double precision): расчет всех МВП БММ с вычислением ближнего взаимодействия на GPU c двойной точностью, дальнего взаимодействия с точностью $\;{{P}_{{{\text{БММ}}}}} = 12$, решение СЛАУ с точностью$\;{{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 5}}}$.

4. БММ/GPU(single precision): расчет всех МВП БММ с вычислением ближнего взаимодействия на GPU c одинарной точностью, дальнего взаимодействия с точностью$\;{{P}_{{{\text{БММ}}}}} = 8$, решение СЛАУ с точностью$\;{{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 4}}}$.

5. GPU(double): расчет всех МВП на GPU c двойной точностью, решение СЛАУ с точностью$\;{{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 5}}}$.

6. GPU(single): расчет всех МВП на GPU c одинарной точностью, решение СЛАУ с точностью$\;{{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 4}}}$.

В табл. 1 представлено среднее время расчета левой части, правой части и решения СЛАУ для пузырькового кластера с примесями для структур n = 4, 5, 6, 7. Из таблицы видно, что наибольшее ускорение получено в четвертом случае для БММ с расчетом ближнего взаимодействия на GPU с одинарной точностью. Однако стоит отметить, что ускорение в этом случае по сравнению с третьим достигается за счет потери точности вычислений из-за операций на GPU с одинарной точностью, меньшего количества элементов в разложении по сингулярному базису и точности GMRES. Так, например, для структуры из 1372 пузырьков и 1372 частиц, что соответствует $N = 1\,761\,648$ расчетным узлам, расчет правой части занимает 4 с, расчет левой части – 5 с, GMRES сходится за 9 итераций, на решение СЛАУ требуется 51 с, что в 60 раз быстрее, чем требуется на аналогичный расчет на GPU c одинарной точностью. На фиг. 2 представлено время вычисления левой и правой части СЛАУ в логарифмической системе координат, откуда видно, что сложность модулей, реализованных с использованием БММ, (случай 1–4) линейная, а прямой расчет на GPU (cлучай 5, 6) имеет квадратичную сложность. Заметим, что для $N \leqslant 40\,000$ эффективнее использовать модули 5 и 6.

Таблица 1.  

Время выполнения расчетов (секунды) в зависимости от количества узлов дискретизации пузырькового кластера с примесями

${{K}_{b}}{\text{/}}{{K}_{p}}$ 512/512 500/500 854/864 1372/1372
$n{\text{/}}N$ 4/328704 5/642000 6/1109376 7/1761648
1. БММ/СPU
${{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 5}}}$
${{P}_{{{\text{БММ}}}}} = 12$
Правая часть 2.4 5.1 8.6 14.9
Левая часть 3.1 6.3 10.8 19.0
СЛАУ 36.7 74.3 127.5 261.8
2. БММ/СPU
${{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 4}}}$
${{P}_{{{\text{БММ}}}}} = 8$
Правая часть 1.9 4.2 7.5 13.4
Левая часть 2.2 4.5 8.7 15.2
СЛАУ 17.6 44.3 85.4 150.1
3. БММ/GPU (double)
${{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 5}}}$
${{P}_{{{\text{БММ}}}}} = 12$
Правая часть 1.8 3.6 6.0 10.1
Левая часть 2.2 3.8 7.4 11.3
СЛАУ 25.8 45.6 87.8 157.3
4. БММ/GPU (single)
${{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 4}}}$
${{P}_{{{\text{БММ}}}}} = 8$
Правая часть 1.4 1.8 2.8 4.2
Левая часть 1.4 2.3 3.5 5.3
СЛАУ 11.3 22.8 34.7 51.5
5. GPU (double)
${{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 5}}}$
Правая часть 19.6 75.1 224.7 566.0
Левая часть 24.3 93.1 278.3 700.4
СЛАУ 286.6 1099.3 3286.5 9671.3
6. GPU(single)
${{\varepsilon }_{{{\text{GMRES}}}}} = {{10}^{{ - 4}}}$
Правая часть 9.1 34.3 102.7 260.2
Левая часть 11.1 41.7 124.2 312.3
СЛАУ 86.9 409.5 1220.5 3070.5
Фиг. 2.

Время выполнения расчета правой части (а) и левой части (б) СЛАУ в зависимости от количества узлов дискретизации пузырькового кластера с примесями.

На фиг. 3 представлены формы пузырькового кластера с примесями твердых сферических частиц, состоящего из четырех пузырьков и четырех частиц (фиг. 1а) в фазе расширения (t = 0.6T, фиг. 3а) и сжатия (t = 0.85T, фиг. 3б). Из фигуры видно, что при сжатии в пузырьках образуются струи, направленные в центр кластера. Проведен анализ деформации углового пузырька для различных размеров кластера (фиг. 4). Анализ показал, что в случаях n = 1, 2 и 3 в крайних пузырьках формируются струи, направленные в центр кластера. Однако с увеличением размера кластера деформация крайних пузырьков уменьшается. Так, например, в случае структуры кластера, содержащего 854 пузырька и 854 частицы, что соответствует n = 6, форма углового пузырька остается сферической. С увеличением размера кластера также уменьшается мобильность пузырьков (фиг. 5а) и частиц (фиг. 5б), что обусловлено незначительными изменениями объема отдельных пузырьков (фиг. 6а) и кластера в целом (фиг. 6б), следовательно, и слабыми гидродинамическими потоками, создаваемыми осциллирующими пузырьками.

Фиг. 3.

Динамика кубического кластера, содержащего четыре пузырька (серый цвет) и четыре частицы (черный цвет) в момент времени t = 0.6T (а) и t = 0.85T (б).

Фиг. 4.

Форма углового пузырька в кластере в момент времени t = T в зависимости от размера пузырькового кластера с примесями.

Фиг. 5.

Динамика центра масс углового пузырька (а) и угловой частицы (б) в зависимости от размера пузырькового кластера с примесями.

Фиг. 6.

Динамика объема пузырькового кластера с примесями (а) и углового пузырька (б) в зависимости от размера пузырькового кластера с примесями.

6. ЗАКЛЮЧЕНИЕ

Для проведения расчетов высокой вычислительной сложности требуются высокопроизводительные вычисления, которые включают в себя две составляющие: усовершенствованные масштабируемые алгоритмы и вычислительные системы с большим количеством ядер. В данной работе основу таких алгоритмов составил быстрый метод мультиполей (БММ), который позволяет решать СЛАУ с миллионами неизвестных на относительно недорогих персональных суперкомпьютерах, оборудованных графическими процессорами (GPU) и уже показал свою эффективность для прямого моделирования динамики пузырькового кластера [24]. Указанный подход был использован для ускорения метода граничных элементов, позволяющего эффективно рассчитывать динамику больших пузырьковых кластеров с примесями твердых сферических частиц.

На примере кубического структурированного кластера различных размеров продемонстрирована производительность разработанного подхода, основанного на представлении гранично-интегральной формулировки через ядра Лапласа и применении БММ. Достигнуто ускорение в 60 раз по сравнению с эффективной реализацией кода на GPU.

Численное моделирование показало, что деформация пузырьков сильно зависит от размеров кластера. В маленьких кластерах пузырек может испытывать сильные деформации с возмущением поверхностных мод высокого порядка, включая образование струи. Разработанный код можно использовать для изучения подобных эффектов с высокой дискретизацией поверхности. Таким образом, детальный анализ деформации пузырьков, влияния примесей на динамику пузырькового кластера, возникающих гидродинамических потоков имеет большое значение для понимания физики процесса. Разработанный инструмент и результаты, полученные в настоящей работе, позволяют перейти к изучению более сложных эффектов в трехмерном случае, связанных с совместной динамикой пузырьков и твердых частиц.

Авторы выражают благодарность Н.А. Гумерову (Институт компьютерных исследований штата Мэриленд, США) за постановку задачи, компании Fantalgo, LLC (Мэриленд, США) за предоставление библиотеки БММ.

Список литературы

  1. Ralston J., Dukhin S.S. The interaction between particles and bubbles // Colloids and Surfaces A. 1999. V. 151. P. 3–14.

  2. Phan C.M., Nguyen A.V., Miller J.D., Evans G.M., Jameson G.J. Investigations of bubble-particle interactions // Int. J. Miner. Process. 2003. V. 72. P. 239–254.

  3. Nguyen A.V., Ralston J., Schulze H.J. On modelling of bubble-particle attachment probability in flotation // Int. J. Miner. Process. 1998. V. 53. P. 225–249.

  4. Sarrot V., Huang Z., Legendre D., Guiraud P. Experimental determination of particles capture efficiency in flotation // Chem. Engng. Sci. 2007. V. 62. P. 7359–7369.

  5. Dai Z., Fornasiero D., Ralston J. Particle-bubble collision models – a review // Adv. Colloid Interface Sci. 2000. V. 96. P. 254.

  6. Koh P.T.L., Manickam M., Schwarz M.P. Cfd simulation of bubble-particle collisions in mineral flotation cells // Minerals Engng. 2000. V. 13. P. 1455–1463.

  7. Koh P.T.L., Schwarz M.P. Cfd modelling of bubble-particle collision rates and efficiencies in a flotation cell // Minerals Engng. 2003. V. 16. P. 1055–1059.

  8. Yoon R.H. The role of hydrodynamic and surface forces in bubble-particle interaction // Int. J. Miner. Process. 2000. V. 58. P. 129–143.

  9. Nguyen A., Evans G.M. The liquid flow force on a particle in the bubble-particle interaction in flotation // J. Colloid Interface Sci. 2002. V. 246. P. 100–104.

  10. Nguyen A., Nalaskowski J., Miller J.D. A study of bubble-particle interaction using atomic force microscopy // Minerals Engng. 2003. V. 16. P. 1173–1181.

  11. Johnson D.J., Miles N.J., Hilal N. Quantification of particle-bubble interactions using atomic force microscopy: a review // Adv. Colloid Interface Sci. 2006. V. 127. P. 67–81.

  12. Hong T., Fan L.S., Lee D.J. Force variations on particle induced by bubble-particle collision // Int. J. Multiphase Flow. 1999. V. 20. P. 117–129.

  13. Nguyen A.V., Evans G.M. Attachment interaction between air bubbles and particles in froth flotation // Exp. Therm. Fluid. Sci. 2004. V. 28. P. 381–385.

  14. Verrelli D.I., Koh P.T.L., Nguyen A.V. Particle-bubble interaction and attachment in flotation // Chem. Engng. Sci. 2011. V. 66. P. 5910–5921.

  15. Basarova P., Machon V., Hubicka M., Horn D. Collision processes involving a single rising bubble and a larger stationary spherical particle // Int. J. Miner. Process. 2010. V. 94. P. 58–66.

  16. Hay T.A. A Model of the Interaction of Bubbles and Solid Particles under Acoustic Excitation // Ph.D. Dissertation. 2008. 217 p.

  17. Dongarra J.J., Sullivan F. The top 10 algorithms // Comput. Sci. & Engng. 2000. V. 2. P. 22–23.

  18. Greengard L., Rokhlin V. A fast algorithm for particle simulations // J. Comput. Phys. 1987. V. 73. P. 325–348.

  19. Gumerov N.A., Duraiswami R. A broadband fast multipole accelerated boundary element method for the three dimensional Helmholtz equation // J. Acoust. Soc. Am. 2009. V. 125. P. 191–205.

  20. Nishimura N. Fast multipole accelerated boundary integral equation methods // Appl. Mech. Rev. 2002. V. 55 (4). P. 299–324.

  21. Gumerov N.A., Duraiswami R. Fast multipole methods on graphics processors // J. Comput. Phys. 2008. V. 227. P. 8290–8313.

  22. Li S.C., Khoob B.C., Zhang A.M., Wang S. Bubble-sphere interaction beneath a free surface // Ocean Engng. 2018. V. 169. P. 469–483.

  23. Li S.C., Khoob B.C., Zhang A.M., Wang S., Han R. Transient interaction between a particle and an attached bubble with an application to cavitation in silt-laden flow// Physics of Fluids. 2018. V. 30 (8). 082111.

  24. Pityuk Yu.A., Gumerov N.A., Abramova O.A., Zarafutdinov I.A., Akhatov I.Sh. Accelerated boundary element method for 3D simulations of  bubble cluster dynamics in an acoustic field // Communications in Computer and Information Science (CCIS). 2019. V. 1063. P. 335–349.

  25. Zarafutdinov I.A., Gainetdinov A.R., Pityuk Yu.A., Abramova O.A., Gumerov N.A., Akhatov I.Sh. GPU acceleration of bubble-particle dynamics simulation // Communications in Computer and Information Science (CCIS). 2018. V. 910. P. 235–250.

  26. Питюк Ю.А. (Иткулова Ю.А.), Абрамова О.А., Гумеров Н.А., Ахатов И.Ш. Моделирование динамики пузырьков в трехмерных потенциальных течениях на гетерогенных вычислительных системах быстрым методом мультиполей и методом граничных элементов // Вычисл. методы и программирование. 2014. Т. 15. С. 239–257.

  27. Скворцов А.В. Триангуляция Делоне и еe применение. Томск: Изд-во Томского университета, 2002. 128 с.

  28. Gumerov N.A., Duraiswami R., Borovikov E.A. Data structures, optimal choice of parameters, and complexity results for generalized multilevel fast multipole method in d dimensions. Technical Report CS-TR-4458. College Park: Univ. of Maryland, 2003.

Дополнительные материалы отсутствуют.