Исследовать алгоритмы решения задачи
Разработать и проанализировать модель на основе решеточного уравнения Больцмана для описания течений газа.
Моделирование газовых потоков и жидкостей традиционными методами требует значительных вычислительных ресурсов. В связи с этим, методы решеточных газов (LGA) и решеточного уравнения Больцмана (LBE) становятся все более актуальными. Они позволяют упростить вычисления, сохраняя при этом физическую достоверность, и находят применение в различных областях, от гидродинамики до биофизики. В данном докладе мы рассмотрим основные алгоритмы и модели, используемые для решения задач с применением LGA и LBE.
Модель HPP (Hardy-Pomeau-Pazzis) — это базовая модель решеточных газов (LGA), используемая для моделирования гидродинамических явлений на микроскопическом уровне. Она представляет собой дискретную систему, где пространство и время дискретизованы, а частицы двигаются по узлам квадратной решетки.
Решетка: используется двумерная квадратная решетка, где узлы расположены на одинаковом расстоянии друг от друга.
Частицы: в каждом узле решетки могут находиться частицы единичной массы. Каждая частица может двигаться в одном из четырех направлений: вверх, вниз, вправо или влево.
Скорость: все частицы имеют одинаковую скорость, направленную к соседнему узлу. Расстояние между узлами ($\Delta x$) и шаг времени ($\Delta t$) выбираются так, чтобы частица могла переместиться в соседний узел за один временной шаг.
Принцип исключения: в каждом узле может находиться не более одной частицы, движущейся в заданном направлении.
Этапы эволюции:
Правила столкновений: столкновения происходят таким образом, чтобы выполнялись законы сохранения. В модели HPP нетривиальные столкновения происходят, когда две частицы движутся навстречу друг другу (почти “лоб в лоб”). После столкновения частицы меняют направления движения на 90 градусов. Во всех остальных случаях столкновения считаются несущественными, и частицы продолжают двигаться в прежних направлениях.
Кодирование состояний: состояние каждого узла решетки кодируется битами. Поскольку имеется четыре возможных направления движения, для кодирования состояния узла требуется четыре бита. Каждый бит соответствует одному из направлений: 0 — нет частицы, 1 — есть частица, движущаяся в этом направлении. Например, если частицы движутся вправо и вверх, состояние узла кодируется как 0101
в двоичном формате.
Обозначим возможные направления скорости как $d_1, d_2, d_3, d_4$$. Тогда:
$d_1 = 0001_2 = 1$
$d_2 = 0010_2 = 2$
$d_3 = 0100_2 = 4$
$d_4 = 1000_2 = 8$
Основные операции для работы с состояниями узлов:
Добавление частицы: добавление к состоянию $S$ частицы с направлением скорости $d_k$: $$ S \text{ OR } d_k \rightarrow S $$
Проверка наличия частицы: проверка, есть ли в состоянии $S$ частица с направлением скорости $d_k$: $$ \text{if } (S \text{ AND } d_k) \neq 0 $$ Если результат не равен 0, то частица с направлением $d_k$ присутствует в узле.
Отсутствие симметрии: квадратная решетка с четырьмя направлениями скорости недостаточно симметрична, что приводит к анизотропии в макроскопических свойствах.
Нефизичное поведение: модель HPP неточно описывает гидродинамические свойства жидкостей и газов.
Для устранения этих недостатков были разработаны более совершенные модели, такие как FHP (Frisch-Hasslacher-Pomeau) на треугольных решетках и модели с добавлением покоящихся частиц.
Модель FHP-I (Frisch-Hasslacher-Pomeau) — это улучшенная модель решеточных газов (LGA), разработанная для устранения недостатков модели HPP, связанных с недостаточной симметрией. В модели FHP-I используется треугольная сетка и шесть направлений скорости.
Решетка: используется двумерная треугольная решетка, где каждый узел имеет шесть ближайших соседних узлов, расположенных под углами 60 градусов друг к другу.
Частицы: в каждом узле решетки могут находиться частицы единичной массы. Каждая частица может двигаться в одном из шести направлений к соседним узлам.
Скорость: все частицы имеют одинаковую скорость, направленную к соседнему узлу. Как и в модели HPP, расстояние между узлами и шаг времени выбираются так, чтобы частица могла переместиться в соседний узел за один временной шаг.
Принцип исключения: в каждом узле может находиться не более одной частицы, движущейся в заданном направлении.
Этапы эволюции:
Правила столкновений: столкновения происходят таким образом, чтобы выполнялись законы сохранения. Важным аспектом модели FHP-I является наличие нескольких типов столкновений, обеспечивающих сохранение массы и импульса. Примеры столкновений:
Кодирование состояний: состояние каждого узла решетки кодируется битами. Поскольку имеется шесть возможных направлений движения, для кодирования состояния узла требуется шесть битов. Каждый бит соответствует одному из направлений: 0 — нет частицы, 1 — есть частица, движущаяся в этом направлении.
Улучшенная симметрия: треугольная решетка с шестью направлениями скорости обладает большей симметрией по сравнению с квадратной решеткой модели HPP. Это позволяет получить более точное описание гидродинамических свойств.
Реалистичное поведение: модель FHP-I более точно описывает гидродинамические свойства жидкостей и газов по сравнению с моделью HPP.
Модель FHP-III — это расширение модели FHP-I, предназначенное для улучшения её физических свойств за счет добавления покоящихся частиц. Введение покоящихся частиц позволяет более точно моделировать гидродинамические явления и улучшить изотропность модели.
Решетка: используется двумерная треугольная решетка, как и в модели FHP-I. Каждый узел имеет шесть ближайших соседних узлов, расположенных под углами 60 градусов друг к другу.
Частицы: в каждом узле решетки могут находиться частицы единичной массы. В отличие от FHP-I, в FHP-III добавлены покоящиеся частицы, которые не двигаются между узлами. Таким образом, у нас есть шесть движущихся частиц и покоящаяся частица.
Скорость: шесть движущихся частиц имеют одинаковую скорость, направленную к соседнему узлу. Покоящиеся частицы имеют нулевую скорость.
Принцип исключения: в каждом узле может находиться не более одной частицы, движущейся в заданном направлении, и не более одной покоящейся частицы.
Этапы эволюции:
Правила столкновений: столкновения происходят таким образом, чтобы выполнялись законы сохранения. Некоторые примеры столкновений:
Кодирование состояний: состояние каждого узла решетки кодируется битами. Поскольку имеется шесть возможных направлений движения и возможность наличия покоящейся частицы, для кодирования состояния узла требуется семь битов. Шесть битов соответствуют направлениям движения, а один бит — наличию покоящейся частицы.
Улучшенная изотропность: добавление покоящихся частиц улучшает изотропность модели, что позволяет получить более точное описание гидродинамических свойств.
Более реалистичное поведение: модель FHP-III более точно описывает гидродинамические свойства жидкостей и газов по сравнению с моделями HPP и FHP-I.
Модель с 9 направлениями скорости является модификацией модели решеточных газов, предназначенной для улучшения изотропности и введения понятия температуры в систему. Она использует квадратную сетку, но расширяет возможные направления движения частиц, позволяя им перемещаться не только по горизонтали и вертикали, но и по диагонали. Кроме того, вводится понятие покоящихся частиц.
Решетка: используется двумерная квадратная решетка, как и в модели HPP.
Частицы: в каждом узле решетки могут находиться частицы, движущиеся в одном из восьми направлений (вверх, вниз, вправо, влево, и по четырем диагоналям), а также покоящиеся частицы.
Скорость:
Направления движения:
Этапы эволюции:
Правила столкновений: правила столкновений должны обеспечивать сохранение массы, импульса и энергии. Это достигается за счет более сложных правил столкновений по сравнению с моделями HPP и FHP.
Кодирование состояний: состояние каждого узла решетки кодируется битами. Поскольку имеется 9 возможных состояний (8 направлений движения и состояние покоя), для кодирования состояния узла требуется 9 битов.
В модели с 9 направлениями скорости можно определить макроскопические параметры, такие как плотность, полная энергия и температура.
Плотность ($\rho$): $$\rho = n_0 + n_1 + n_2$$
$n_0$ — число покоящихся частиц.
$n_1$ — число частиц с единичной скоростью.
$n_2$ — число частиц со скоростью $\sqrt{2}$.
Полная энергия ($E$): $$E = P + \frac{\rho u^2}{2} = \sum_i n_i \frac{v_i^2}{2} = \frac{n_1}{2} + n_2$$
$P$ — давление.
$u$ — макроскопическая скорость.
Температура ($T$): $T = \frac{P}{\rho}$
Изотропность: добавление диагональных направлений движения улучшает изотропность модели по сравнению с моделью HPP.
Возможность введения температуры: наличие различных скоростей позволяет ввести понятие температуры, что важно для моделирования тепловых процессов.
Более реалистичное поведение: модель с 9 направлениями скорости более точно описывает гидродинамические свойства жидкостей и газов по сравнению с более простыми моделями.
Сложность реализации: добавление новых направлений движения и покоящихся частиц усложняет реализацию модели по сравнению с моделями HPP и FHP.
Вычислительные затраты: большее число состояний и более сложные правила столкновений увеличивают вычислительные затраты.
Решеточное уравнение Больцмана (LBE) — это вычислительный метод, используемый для моделирования широкого спектра физических процессов, включая гидродинамику, фазовые переходы и химические реакции. LBE является более общим подходом по сравнению с моделями решеточных газов (LGA), такими как HPP, FHP-I и FHP-III, и предоставляет более точное и гибкое средство моделирования сложных систем.
Дискретизация пространства и времени: LBE, как и LGA, дискретизует пространство и время. Пространство представляется в виде решетки (обычно квадратной или треугольной), а время разбивается на дискретные шаги.
Функция распределения: в отличие от LGA, где отслеживаются отдельные частицы, LBE работает с функцией распределения $f_k(x, t)$, которая описывает вероятность нахождения частиц в узле $x$ в момент времени $t$, движущихся в направлении $k$.
Скорости: частицы могут двигаться в нескольких дискретных направлениях $c_k$, определяемых геометрией решетки.
Основное уравнение: эволюция системы описывается уравнением:
$$ f_k(x + c_k \Delta t, t + \Delta t) = f_k(x, t) + \Omega_k(x, t) $$
$f_k(x, t)$ — одночастичная функция распределения.
$c_k$ — скорость частиц.
$\Omega_k(x, t)$ — столкновительный член, описывающий изменения функции распределения из-за столкновений частиц.
Столкновительный член: описывает, как частицы взаимодействуют друг с другом. Наиболее часто используется модель BGK (Bhatnagar-Gross-Krook):
$$ \Omega_k = \frac{1}{\tau}(f_k^{eq} - f_k) $$
$\tau$ — время релаксации, характеризующее скорость приближения системы к равновесию.
$f_k^{eq}$ — равновесная функция распределения, описывающая состояние системы в равновесии.
Равновесная функция распределения: обычно выбирается в виде разложения по полиномам Эрмита или в другом подходящем виде, чтобы обеспечить выполнение законов сохранения. Например, для модели D2Q9 (двумерная модель с 9 скоростями) равновесная функция распределения может быть записана как:
$$ f_k^{eq} = w_k \rho \left[1 + \frac{c_k \cdot u}{c_s^2} + \frac{(c_k \cdot u)^2}{2c_s^4} - \frac{u^2}{2c_s^2}\right] $$
Макроскопические параметры: макроскопические параметры, такие как плотность и скорость, вычисляются через функции распределения:
$$ \rho = \sum_k f_k $$
$$ \rho u = \sum_k f_k c_k $$
LBE находит широкое применение в различных областях науки и техники, включая:
Модель с взаимодействием между частицами используется для моделирования фазовых переходов и разделения фаз. В этой модели к обычным алгоритмам решеточных газов или решеточного уравнения Больцмана добавляются силы, действующие между частицами, находящимися в разных узлах решетки.
Взаимодействие между частицами: для описания жидкостей и газов вводятся силы взаимодействия между частицами. Эти силы могут быть как отталкивающими (для моделирования разделения веществ), так и притягивающими (для моделирования фазовых переходов жидкость-газ).
Типы взаимодействий:
Влияние внешних сил: внешние силы могут быть учтены через изменение скорости частиц: $$ \Delta u = \frac{F \Delta t}{\rho} $$
Уравнение Больцмана модифицируется добавкой:
$$ f_k(x + c_k \Delta t, t + \Delta t) = f_k(x, t) + \Omega_k(x, t) + \Delta f_k $$
где:
$$ \Delta f_k = f_k^{eq}(\rho, u + \Delta u) - f_k^{eq}(\rho, u) $$
Моделирование фазовых переходов: фазовые переходы моделируются через силы притяжения между соседними узлами:
$$ F(x) = \psi(\rho(x)) \sum_{k} G_k e_k \psi(\rho(x + e_k)) $$
Инициализация:
Распространение (Streaming): частицы перемещаются в соседние узлы в соответствии со своими скоростями.
Вычисление сил взаимодействия: для каждого узла вычисляется сила, действующая на него со стороны соседних узлов.
Столкновения (Collision): в узлах происходят столкновения частиц, при которых сохраняются количество частиц, импульс и энергия. Учитывается влияние сил взаимодействия на изменение скоростей частиц.
Обновление скоростей: скорости частиц изменяются под действием сил взаимодействия и внешних сил.
Повторение шагов 2-5: процесс повторяется до достижения стационарного состояния или заданного времени моделирования.
Моделирование конденсации и испарения: позволяет изучать процессы образования капель из пересыщенного пара и вскипания перегретой жидкости.
Разделение фаз (спинодальная декомпозиция): моделирование разделения смеси на фазы с разными свойствами.
Моделирование многофазных потоков: изучение течений, в которых одновременно присутствуют несколько фаз (например, жидкость и газ).
Модель с несколькими компонентами используется для моделирования смесей веществ и химических реакций. В этой модели каждый компонент представлен своим набором частиц или функций распределения, и учитываются взаимодействия между различными компонентами.
Несколько типов частиц: в системе присутствует несколько видов частиц, каждый из которых соответствует определенному компоненту смеси.
Функции распределения для каждого компонента: если используется подход LBE, то для каждого компонента определяется своя функция распределения $f_{k,i}(x, t)$, где $i$ — индекс компонента.
Взаимодействия между компонентами: учитываются силы взаимодействия между различными компонентами смеси. Эти силы могут быть как отталкивающими (для моделирования разделения фаз), так и притягивающими (для моделирования образования соединений).
Химические реакции: в модели могут быть реализованы химические реакции между компонентами. Для этого вводятся правила, определяющие, как и с какой вероятностью частицы разных компонентов могут превращаться друг в друга.
Уравнения эволюции: эволюция системы описывается набором уравнений, учитывающих как гидродинамические процессы, так и химические реакции.
Инициализация:
Распространение (Streaming): частицы каждого компонента перемещаются в соседние узлы в соответствии со своими скоростями.
Вычисление сил взаимодействия: для каждого узла вычисляются силы, действующие на частицы каждого компонента со стороны других компонентов.
Столкновения (Collision): в узлах происходят столкновения частиц, при которых сохраняются количество частиц, импульс и энергия для каждого компонента. Учитывается влияние сил взаимодействия на изменение скоростей частиц.
Химические реакции: в узлах происходят химические реакции между компонентами в соответствии с заданными правилами. В результате этих реакций изменяется количество частиц каждого компонента.
Обновление скоростей: скорости частиц каждого компонента изменяются под действием сил взаимодействия и внешних сил.
Повторение шагов 2-6: процесс повторяется до достижения стационарного состояния или заданного времени моделирования.
Для LBE с несколькими компонентами уравнение эволюции выглядит следующим образом:
$$ f_{k,i}(x + c_k \Delta t, t + \Delta t) = f_{k,i}(x, t) + \Omega_{k,i}(x, t) $$
Столкновительный член может включать в себя как релаксацию к равновесию, так и члены, описывающие химические реакции:
$$ \Omega_{k,i} = \Omega_{k,i}^{collision} + \Omega_{k,i}^{reaction} $$
Моделирование смешивания жидкостей: позволяет изучать процессы смешивания различных жидкостей и газов.
Разделение веществ: моделирование разделения смеси на компоненты (например, разделение нефти на фракции).
Моделирование химических реакций: изучение кинетики химических реакций в растворах и газах.
Реакция-диффузия: моделирование процессов, в которых химические реакции сочетаются с диффузией веществ.
Модели решеточных газов $(LGA)$ и решеточное уравнение Больцмана $(LBE)$ представляют собой эффективные инструменты для моделирования газовых потоков, требующие меньше вычислительных ресурсов по сравнению с традиционными методами.
Различные модели обладают разными характеристиками и применимы для разных задач. $HPP$ — простая базовая модель, $FHP-I$ и $FHP-III$ улучшают симметрию и изотропность, а модель с 9 направлениями скорости позволяет вводить понятие температуры. $LBE$ является наиболее общим и гибким подходом.
Выбор конкретного алгоритма зависит от требований к точности, вычислительным ресурсам и специфике решаемой задачи.
Во время выполнения второго этапа группового проекта мы сделали теоретическое описание алгоитмов, которые могут быть использованы для моделирования решеточного уравнения Больцмана.
Медведев Д.А. и др. Моделирование физических процессов и явлений на ПК: Учеб. пособие. // Новосибирск: Новосиб. гос. ун-т, 2010. 101 с.
Куперштох А. Л. Моделирование течений с границами раздела жидкость-пар методом решеточных уравнениях Больцмана // Вестник НГУ. Сер. Математика, механика и информатика. 2005. Т. 5, № 3. с. 29–42.
Chen S., Lee M., Zhao K. H., Doolen G. D. A lattice gas model with temperature // Physica D. 1989. V. 37. p. 42–59.
Чащин Г.С. Метод решёточных уравнений Больцмана: моделирование изотермических низкоскоростных течений // Препринты ИПМ им. М.В.Келдыша. 2021. № 99. 31 с..
Frisch, Uriel, Brosl Hasslacher, and Yves Pomeau. “Lattice Gas Automata for the Navier-Stokes Equation.” Phys. Rev. Lett. 56, no. 14 (1986): 1505-1508.
Succi, Sauro. The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford University Press, 2001.