-
Notifications
You must be signed in to change notification settings - Fork 0
/
1e.tex
78 lines (64 loc) · 3.43 KB
/
1e.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
\section{Схема моделирования дискретного многокомпонентного уравнения Смолуховского испытаниями Бернулли.}
Для исследования многокомпонентных процессов кластерообразования
приведенная схема допускает естественное обобщение: вместо фиксации
одного сорта частиц, можно представить ее сорт в виде вектора $\vec m = (m^1, ..., m^p)$,
где $p$ - число компонент смеси, а $m_i \in \mathbb{N}$. В таком случае дискретное уравнение Смолуховского можно
записать следующим образом:
\begin{align}
\frac{\partial \phi(\vec m, t)}{\partial t} = \frac{1}{2}\sum_{\vec x, \vec y} K(\vec x, \vec y) \phi(\vec x, t) \phi(\vec y, t)&[\vec x + \vec y = \vec m] - \label{SmoluchVector}\\
&\phi(\vec m, t) \sum_{\vec x} K(\vec x, \vec m) \phi (\vec x, t) \notag
\end{align}
Для решения уравнения \ref{SmoluchVector} рассмотрим следующую модификацию весового алгоритма.
Модельная частица $p$ - это пара чисел $(\vec m, w)$, где $\vec m$ - определяет состав кластера,
которые представляет модельная частица, а $w \in \mathbb{R}_{+}$ - определяет ее вес,
т.е. количество кластеров, которые она представляет.
Концентрацией кластеров размером $\vec m$ в системе из $N$ частиц на шаге $t$ будет функция $\phi(\vec m, t) = \sum_{i=1}^{N}w_i [ \vec l_i = \vec m]$.
Реализация схемы Бернулли - множество ячеек из $M$ модельных частиц, проиндексированных параметром $t \in T$.
Столкновение двух частиц - функция, отображающая частицы $p_i$ и $p_j$ в себя следующим образом(для удобства $w(p_i) < w(p_j))$:
\begin{equation*}
\left(
\begin{split}
w_x, \vec l_x\\
w_y, \vec l_y
\end{split}\right)
\rightarrow
\left(
\begin{split}
& w_x,& \vec l_x + \vec l_y\\
& w_y - w_x,& \vec l_x
\end{split}\right)
\end{equation*}
Суммарная масса частиц каждого компонента $i$ при этом не меняется:
$w_x l_x^i + w_y l_y^i = w_x (l_x^i + l_y^i) + (w_y - w_x) l_x^i$
Эволюцию модели на временном шаге $\Delta t$ будем рассчитывать по следующему алгоритму.
В системе из $N$ частиц для всех возможных пар частиц $(p_x, p_y)$ выполняются следующие процедуры:
\begin{description}
\item[Шаг 1.] Разыгрывается факт взаимодействия с вероятностью $$P = K(\vec l_x, \vec l_y) \max (w_x, w_y) \Delta t$$
\item[Шаг 2.] Если взаимодействие произошло, то частицы заменяются на новые, в соответствии с функцией столкновения.
В противном случае параметры частиц не меняются.
\item[Шаг 3.] Перемешивание модельных частиц между реализациями.
\end{description}
Основная цель работы - сохранение постоянного количества модельных частиц в каждой реализации случайного процесса.
В силу парности взаимодействия и неравенстве весов нужно позаботиться о правильном определении количества взаимодействующих частиц.
%Алгоритм моделирования выглядит следующим образом:
%При столкновении может произойти два несовместных события:
%\begin{enumerate}
%\item Вес частицы уменьшится, а сорт не изменится.
%$$
%w_i^* = w_i - \frac12 \min (w_i, w_j)
%$$
%$$
%p(w_i \rightarrow w_i^*, l_i = const) = 1 - \frac{\frac12 \min(w_i, w_j)}{w_i^*}
%$$
%\item Вес уменьшится, сорт изменится.
%$$
%w_i^* = w_i - {\frac12} \min (w_i, w_j)
%$$
%$$
%p(w_i \rightarrow w_i^*, l_i \rightarrow l_i + l_j) = \frac{\frac12 \min (w_i, w_j)}{w_i^*}
%$$
%\end{enumerate}
%При таком способе получаем консервативность ``в среднем'' для веса слипшихся частиц (для удобства $w_i > w_j$):
%$$
%\mathbb{E} w(l_i+l_j) = w_i^* \cdot p(l_i \rightarrow l_i+l_j) + \frac12 w_j = w_i^ * \frac{w_j}{2 w_i^*} + \frac12 w_j = w_j
%$$