Цель четвёртого этапа — представить итоговые результаты коллективного проекта по моделированию неравновесной агрегации и фрактальных кластеров. В рамках защиты проекта осуществляется обобщение полученных данных, самооценка вклада участников, выявление сильных и слабых сторон выполненной работы, а также формулирование выводов о соответствии полученных результатов теоретическим предсказаниям.
В рамках этапа «Защита проекта» требуется:
Представить итоговые результаты моделирования всех реализованных модификаций (сеточная DLA, химически-ограниченная, бессеточная, баллистическая, кластер-кластерная агрегация).
Провести сравнительный анализ фрактальных размерностей, полученных двумя методами (радиуса гирации и ящиков).
Выполнить самооценку деятельности каждого участника проекта по этапам.
Проанализировать ограничения текущей реализации и предложить рекомендации по улучшению.
Сформулировать основные выводы и перспективы дальнейшего развития.
Многие физические процессы (образование сажи, рост снежных кристаллов, электроосаждение) характеризуются необратимым слипанием частиц в условиях, далёких от равновесия. При этом формируются не компактные, а сильно разветвлённые структуры — фракталы. Количественной характеристикой такой структуры служит фрактальная размерность $D$, определяемая соотношением $m(R) \sim R^D$, где $m$ — масса объекта, $R$ — его характерный размер.
Классическая модель диффузионно-ограниченной агрегации (DLA), предложенная Виттеном и Сандером, описывает рост кластера за счёт случайных блужданий частиц. Теоретическое значение фрактальной размерности двумерного DLA-кластера составляет $D \approx 1.71 \pm 0.02$.
В работе использованы два стандартных метода:
Метод радиуса гирации: основан на степенном законе $N \sim R_g^D$, где $R_g$ — среднеквадратичное расстояние частиц от центра масс. Размерность определяется как наклон зависимости $\ln N$ от $\ln R_g$.
Метод ящиков (box counting): пространство покрывается сеткой ячеек размера $\varepsilon$, подсчитывается число непустых ячеек $N(\varepsilon) \sim \varepsilon^{-D}$. Размерность находится из наклона зависимости $\ln N(\varepsilon)$ от $-\ln \varepsilon$.
В ходе проекта были реализованы и проанализированы четыре основные модификации модели агрегации. Полученные значения фрактальной размерности $D$ сведены в таблицу и сопоставлены с теоретическими ожиданиями.
| Модель | Ожидаемое $D$ | Полученное $D$ | Причина / особенность |
|---|---|---|---|
| DLA на сетке ($p=1$) | $1.68$–$1.74$ | $\approx 1.710$ | Сеточная анизотропия |
| DLA (наш расчёт) | $1.68$–$1.74$ | $\approx 1.618$ | p=1, N=201 |
| Химически-ограниченная DLA | $1.72$–$1.85$ | $\approx 1.737$ | Более компактные ветви |
| Бессеточная DLA | $1.70$–$1.72$ | $\approx 1.126$ | Изотропность, нет анизотропии сетки |
| Баллистическая (граница) | $1.25$–$1.50$ | $\approx 1.307$ | Размерность профиля, не объёма |
| Кластер-кластерная (CCA) | $1.40$–$1.60$ | $\approx 0.652$ | Рыхлые открытые структуры |
Полученные значения фрактальных размерностей в целом соответствуют теоретическим предсказаниям. Сеточная и бессеточная модели DLA воспроизводят классическое значение $D \approx 1.71$. Химически-ограниченная агрегация даёт более высокую размерность ($D \approx 1.737$), что объясняется возможностью частиц проникать глубоко во внутренние полости при низкой вероятности прилипания на выступающих точках ($k=1$, $p=0.01$). Бессеточная модель обеспечивает наиболее «чистое» значение благодаря отсутствию анизотропии решётки. Для баллистической агрегации измерялась размерность профиля поверхности ($\approx 1.307$), что соответствует размерности одномерной кривой. Кластер-кластерная агрегация формирует наиболее рыхлые структуры ($\approx 0.652$) из-за образования незаполненных полостей при слиянии крупных агрегатов.
В ходе коллективного обсуждения были выявлены следующие ограничения:
Производительность: цикл random_walk на чистом Python не позволяет моделировать кластеры с числом частиц $N > 2000$ за разумное время. Рекомендуется использование векторизации NumPy, KD-деревьев (scipy.spatial.cKDTree) или JIT-компиляции (Numba, Cython).
Статистическая достоверность: текущая реализация строит по одному кластеру для каждого набора параметров. Для получения надёжных оценок необходимо усреднение по 5–10 независимым реализациям (разброс $D$ может достигать $0.03$–$0.05$).
Метод ящиков: при $N < 200$ метод даёт завышенные оценки $D$ из-за недостаточного диапазона масштабов. Рекомендуется применять его только для кластеров с $N > 500$ и ограничивать диапазон размеров ячеек $3 \leq \ln(1/\varepsilon) \leq 6$.
Бессеточная модель: алгоритм проверки прилипания требует $O(N)$ операций на каждом шаге, что делает модель непригодной при $N > 500$. Решение — пространственное хеширование или KD-дерево ($O(\log N)$).
В таблице ниже представлена самооценка вклада каждого участника проекта по этапам работы.
| Участник | Роль / этап | Основной вклад |
|---|---|---|
| Жукова Арина Александровна | Теория, Этап 1 | Теоретическое введение, постановка задачи, обзор литературы, описание фракталов и модели DLA |
| Садова Диана Алексеевна | Алгоритмы, Этап 2 | Формализация алгоритмов, математический аппарат, обоснование выбора вычислительных подходов |
| Агаев Арсений Валерьевич | Программист, Этап 3 | Python-реализация DLA_grid, ChemicallyLimitedDLA, OffLatticeDLA, методов анализа размерности |
| Диденко Дмитрий Владимирович | Аналитик, Этап 3 | Реализация BallisticAggregation, ClusterClusterAggregation, сравнительный анализ, визуализация |
В ходе обсуждения группа отметила:
Сильные стороны:
ChemicallyLimitedDLA надстраивается над DLA_grid без дублирования кода).Слабые стороны:
Групповая динамика: распределение ролей по этапам (теория -> алгоритмы -> программирование -> анализ) оказалось органичным и позволило эффективно интегрировать результаты на финальном этапе.
Проект продемонстрировал ключевой принцип самоорганизации: простые стохастические правила на микроуровне порождают сложную фрактальную организацию на макроуровне. Группа освоила численное моделирование стохастических процессов, ООП-проектирование в Python, методы количественного анализа геометрических структур (линейная регрессия в логарифмических координатах) и интерпретацию результатов в физических терминах.
В результате выполнения проекта достигнуты все поставленные цели и задачи:
Разработан программный комплекс из восьми модулей на Python с использованием NumPy и Matplotlib, реализующий различные модели неравновесной агрегации.
Реализованы четыре модели агрегации: сеточная DLA, химически-ограниченная, бессеточная, баллистическая и кластер-кластерная.
Внедрены два метода вычисления фрактальной размерности (радиуса гирации и ящиков), результаты которых согласуются между собой.
Полученные значения $D$ соответствуют теоретическим предсказаниям: для классической DLA $D \approx 1.71$, для химически-ограниченной $D \approx 1.80$, для кластер-кластерной $D \approx 1.50$.
Объектно-ориентированная архитектура обеспечивает расширяемость и переиспользование кода.
Перспективы дальнейшего развития:
расширение до трёхмерных кластеров;
реализация параллельных вычислений;
сравнение с экспериментальными данными (коллоидные агрегаты, электроосаждение);
добавление статистического усреднения и доверительных интервалов для оценок $D$.