*/
КА применяют для моделирования потоков жидкости следующим образом. Состояние элементарного автомата s представляется булевым вектором и в каждый момент времени определяется набором некоторых содержащихся в нем гипотетических частиц. Частицы обладают следующими свойствами.
Масса частицы единична m = 1.
Модуль вектора скорости частицы единичный |c| = 1 либо нулевой |c| = 0. Частицы с нулевым вектором скорости называют частицами покоя.
Вектор скорости c частицы может быть направлен только в сторону одной из соседних клеток Nl(w).
В один момент времени в одной и той же клетке w не может быть двух или более частиц с одинаковыми векторами скорости c.
Таким образом, состояние каждой клетки w представлено булевым вектором s = (s1, s2, …, sb), sl {0, 1}, l = 1, 2, …, b, длины b = bm + br, где bm = |N(w)| – количество соседних клеток, br – количество частиц покоя. Каждый разряд sl вектора s определяет наличие или отсутствие частицы с вектором скорости cl. Для частиц с номерами l = 1, 2, …, bm вектор скорости направлен в сторону l–го соседа и имеет модуль скорости |cl| = 1. Частицы покоя имеют номера l = bm, bm+1, …, b и модуль скорости |cl| = 0, направление их движения не определено.
Каждый такт работы клеточного автомата разбит на две фазы: столкновение и сдвиг. Функция переходов δ элементарного автомата A состоит, таким образом, из композиции функций δ1 (столкновение) и δ2 (сдвиг).
δ(s) = δ2(δ1(s)) (1.1)
Каждая из этих функций должна удовлетворять законам сохранения массы
(1.2)
и импульса
, (1.3)
а также не нарушать ни один из четырех вышеприведенных принципов. С точки зрения динамики потока жидкости наличие этих двух фаз интерпретируется следующим образом. Столкновения реализуют диффузию в жидкости, а сдвиг — процесс переноса вещества в потоке. Далее подробно описаны эти две фазы.
В фазе столкновения происходит изменение состояния клеток КА согласно некоторым правилам столкновения, не зависящим от состояний соседних клеток, т.е. δ1 зависит только от внутреннего состояния своего элементарного автомата, s1´ = δ1(s). Функция δ1 выбирается такой, чтобы сохранялись масса
, w W (1.4)
и импульс
, w W (1.5)
частиц в клетке. В большинстве известных моделей функция δ1 вероятностная.
В фазе сдвига каждая частица перемещается на одну клетку в направлении вектора ее скорости
s2´(w) = δ2(s1´(w), s1´(N1(w)), s1´(N2(w)), …, s1´(Nbm(w))), (1.6)
где s1´(Nl(w)) – состояние после столкновения l-го соседа клетки w. Значение функции сдвига δ2 определено для каждого разряда вектора s2´(w) = (s21´, …, s2l´, …, s2b´) следующим образом.
(1.7)
где s1l´(Nl(w))) – l-й разряд вектора состояния l-го соседа клетки w (его вектор скорости cl направлен в сторону клетки w). Таким образом, при сдвиге масса и импульс частиц в клетке изменяются, т.е. нарушаются условия (1.4) и (1.5), но в пределах всего КА они сохраняются, т.е. условия (1.2) и (1.3) выполняются.
При моделировании потоков практический интерес представляют не столько значение параметров автомата на микроуровне, т.е. масса и скорость частиц в каждой клетке w, сколько осредненные значения их скоростей u и концентраций n по некоторой окрестности Av(w), которая для двумерных моделей имеет форму bm–угольника, где bm – количество соседей.
Осредненная скорость вычисляется как сумма всех векторов частиц, попадающих в окрестность осреднения Av(w), деленная на мощность окрестности осреднения:
, (1.8)
где |Av(w)| – количество клеток, попадающих в окрестность осреднения, cl – вектор скорости, соответствующий l-му разряду вектора состояния s, принадлежащей окрестности осреднения Av(w) клетки.
Осредненная концентрация частиц n подсчитывается в той же окрестности Av(w) следующим образом.
, (1.9)
где sl – значение l-го разряду вектора состояния s, принадлежащей окрестности осреднения Av(w) клетки. Осредненные значения скорости и концентрация частиц, являющиеся модельными значениями скорости и давления, соответствуют значениям скорости и давления реальной жидкости и являются параметрами макроуровня.