Compare commits
3 Commits
bcf3a19012
...
4f7f018858
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f7f018858 | |||
| 22ba78d068 | |||
| 78d0088ae7 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
.texpadtmp
|
||||
*.pdf
|
||||
tectonic
|
||||
|
||||
50
appendix.tex
50
appendix.tex
@ -1,30 +1,36 @@
|
||||
\section*{Appendix}
|
||||
|
||||
We will investigate these characteristics in turn as time and computational modelling allows through the following process. Starting with the provided code and working towards a more bespoke and customisable model.
|
||||
\subsection*{Generic DLA Model}
|
||||
\label{generic-dla}
|
||||
|
||||
We first took the initially provided code for DLA modelling \ref{IPC} and make minimal alterations such that it will run with reasonable speed \footnote[1]{When running on macOS systems the rendering code slows down the model by several orders of magnitude making it unsuitable for large scale modelling, hence it is removed and replaced with image generation mitigation as discussed later.} and output data for analysis. This data will be analysed and compared with literature\ref{initial-fractal-dimension-data} to confirm agreement. This will then act as a baseline implementation of the DLA model against which we can compare future alterations to ground them and ensure preservation of correct behaviour. In addition we will be creating a small auxiliary program to generate static images of the final result for manual verification of qualitative characteristics as the rendering code is not suitable for large data collection\footnotemark[1].
|
||||
The main tool used to generate the data in this report was the generic DLA framework written to support the report. Here we will briefly discuss the process of creating and verifying this framework.
|
||||
|
||||
An intrinsic problem of developing computational models for exploratory work is the question of correctness: is some novel result you find a bug in your model, or exactly the interesting new behaviour you set out to explore.
|
||||
|
||||
To mitigate this issue the model for this system was created iteratively, with each step being checked against the last where their domains overlap (naturally the newer model is likely to cover a superset of the domain of the old model so there will be some areas where they do not) and unit testing of specific behaviours and verifying expectations\fnmark{unit-test-egs}.
|
||||
|
||||
\fntext{unit-test-egs}{Examples that came up in development include: ensuring our uniform random walks are indeed uniform, that they visit all the desired neighbours, etc}
|
||||
|
||||
This creates a chain of grounding between one model and the next, where our trust model $N+1$ is grounded in our trust of model $N$ and our unit testing however this trust chain, depends on our trust of $N = 0$, the initially provided code. For this we rely on both the extensive history of the code, and (rough) agreement with literature (see the results section for this comparison).
|
||||
|
||||
To this end, starting with the initially provided code we made the minimal alterations necessary such that it would run in reasonable time\fnmark{macos-speed} and output the data required for later analysis. This was done explicitly with the goal of perturbing the initial code's behaviour as little as possible, including not performing relatively obvious performance improvement that might introduce bugs (the previously mentioned performance improvements were predominantly code removal as opposed to code change). This allowed us to collect the data we needed and ground the initial model in theory.
|
||||
|
||||
\fntext{macos-speed}{When running on macOS systems the rendering code slows down the model by several orders of magnitude making it unsuitable for large scale modelling, hence it is removed and replaced with image generation mitigation as discussed later.}
|
||||
|
||||
Once rough accordance with literature was obtained (see Figure \ref{nc-fd-convergence}), and most importantly, consistency between runs (verifying against a ill behaved system is a fruitless and painful endeavour), we added the sticking probability alteration as the simplest alteration the DLA algorithm, verifying agreement between the traditional and probabilistic sticking models at $p_{stick} = 1$. See Figure \ref{sp-fd-rust-vs-c} for this comparison.
|
||||
|
||||
\begin{figure}[t]
|
||||
\includegraphics[width=\columnwidth]{figures/sp-fd-rust-vs-c.png}
|
||||
\caption{A comparison of the reported fractal dimension the probabilistic sticking extension of the Initially Provided Code (IPC + PS) in blue, and the New Framework with probabilistic sticking enabled (NF) in red. We can clearly see a high degree of agreement grounding our new framework and the basic functions of the model.}
|
||||
\label{sp-fd-rust-vs-c}
|
||||
\end{figure}
|
||||
|
||||
|
||||
This then provided sufficient data for us to transition to our new generic framework, verifying that it agreed with this dataset to ensure correctness.
|
||||
|
||||
%TODO Should we reference git commits here? Or keep them all in one repo. Maybe a combo and have them as submodules in a report branch allowing for a linear history and also concurrent presentation for a report.
|
||||
|
||||
Once this minimal viable alteration is complete we will implement our first proper change to the system, introducing a sticking probability, $p_{stick}$, such that a particle is no longer guaranteed to stick when moving adjacent to the cluster, but instead has a chance of simply passing by. This represents a change in our first identified orthogonal behaviour of the model, and the simplest to implement in the framework of the initially provided code. We will verify behaviour against the minimal viable alteration to ensure it is correct. Once this has been done this data will then be analysed to identify a quantitive relationship between $p_{stick}$ and our observables previously listed.
|
||||
\subsection*{Auxiliary Programs}
|
||||
|
||||
\todo{Do we want to show that bouncing has no real effect}
|
||||
A number of auxiliary programs were also developed to assist in the running and visualisation of the model. Most notably was the image generation tool which allowed for the model to focus on one thing: modelling DLA, separating out generating visualisations of the system. This was used to generate images such as that shown in Figure \ref{dla-eg} which are both useful for presentation, and visual qualitative assessment of model correctness.
|
||||
|
||||
\todo{Do we want to talk about testing, for example that we get a uniform offset, etc.}
|
||||
|
||||
\todo{Do we have any theory to link for this? Probably in results but worth bearing in mind}
|
||||
|
||||
For further alterations a new codebase will be engineered to allow for more efficient alteration of the other two, more systematic, orthogonal characteristics of the system, containing initially the sticking probability alteration. To ensure fidelity of results we will compare the behaviour and observables of this new system to that of the minimal viable alteration, as well as the sticking probability alteration of it \todo{Better word}.
|
||||
|
||||
Once accuracy has been determined the model will be embedded in spaces of higher dimensions, with different values of $p_{stick}$, to observe changes in our desired behaviour and compared against literature where possible.
|
||||
|
||||
Finally a system for more complex particle motion will be developed such that we can plug in multiple walk modes in addition to a standard random walk, for example by introducing an external force or various varieties.
|
||||
|
||||
\section{Specific Method}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Choice of maxParticles such that it converges?
|
||||
\item Use of {convergent} eee
|
||||
\end{enumerate}
|
||||
|
||||
Choice of maxParticles such that it converges?
|
||||
|
||||
114
introduction-dicussion-method.tex
Normal file
114
introduction-dicussion-method.tex
Normal file
@ -0,0 +1,114 @@
|
||||
\singlecolumnabstract{
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.
|
||||
}
|
||||
% TODO Write abstract
|
||||
|
||||
\medskip
|
||||
|
||||
% TODO Do I want a TOC?
|
||||
%\tableofcontents
|
||||
|
||||
\section*{Introduction}
|
||||
|
||||
Diffusion-limited aggregation (DLA) models processes where the diffusion of small particles into a larger aggregate is the limiting factor in a system's growth. It is applicable to a wide range of systems such as, A, B, and C.
|
||||
|
||||
% TODO Provide examples
|
||||
|
||||
This process gives rise to structures which are fractal in nature (for example see Figure \ref{dla-eg}), ie objects which contain detailed structure at arbitrarily small scales. These objects are associated with a fractal dimension, $\mathrm{fd}$ or $df$. This number relates how measures of the object, such as mass, scale when the object itself is scaled. For non fractal this will be its traditional dimension: if you double the scale of a square, you quadruple its area, $2 ^ 2$; if you double the scale of a sphere, you octuple its volume, $2 ^ 3$. For a DLA aggregate in a 2D embedding space, its "traditional" dimension would be 1, it is not by nature 2D, but due to its fractal dimension it has a higher fractal dimension higher than that.
|
||||
|
||||
% TODO We need to clean up the symbol
|
||||
% TODO Source the fractal dimension
|
||||
|
||||
In this paper we will consider a number of alterations the standard DLA process and the affect they have on the fractal dimension of the resulting aggregate. This data will be generated by a number of computational models derived initially from the code provided \cite{IPC} but altered and optimised as needed for the specific modelling problem.
|
||||
|
||||
\begin{figure}[t]
|
||||
\includegraphics[width=\columnwidth]{figures/dla-eg}
|
||||
\caption{A $5000$ particle aggregate on a 2D square grid.}
|
||||
\label{dla-eg}
|
||||
\end{figure}
|
||||
% TODO Do I want to show something akin to the comparison image with a 2x2 grid of different sizes?
|
||||
% TODO Extension, can do we do something akin to renormalisation with that scaling property?
|
||||
|
||||
\section*{Discussion}
|
||||
|
||||
As mentioned the DLA process models the growth of an aggregate (otherwise known as a cluster) within a medium through which smaller free moving particles can diffuse. These particles move freely until they "stick" to the aggregate adding to its extent. A high level description of the DLA algorithm is given as follows,
|
||||
|
||||
\begin{enumerate}
|
||||
\item An initial seed aggregate is placed into the system, without mathematical loss of generality, at the origin. This is normally a single particle.
|
||||
\item A new particle is then released at some sufficient distance from the seeded aggregate.
|
||||
\item This particle is allowed to then diffuse until it sticks to the aggregate.
|
||||
\item At this point the new particle stops moving and becomes part of the aggregate a new particle is released.
|
||||
\end{enumerate}
|
||||
|
||||
An actual implementation of this system will involve a number of computational parameters and simplification for computational modelling. For example particles are spawned at a consistent radius from the aggregate, $r_{\mathrm{add}}$, rather than existing uniformly throughout the embedding medium. Further it is traditional to define a "kill circle", $r_{\mathrm{kill}}$ past which we consider the particle lost and stop simulating it \cite[p.~27]{sanderDiffusionlimitedAggregationKinetic2000} (this is especially important in $d > 2$ dimensional spaces where random walks are not guaranteed to reoccur \cite{lawlerIntersectionsRandomWalks2013} and could instead tend off to infinity).
|
||||
|
||||
While these are interesting and important to the performant modelling of the system, we aim to choose these such to maximise the fidelity to the original physical system, whilst minimising the computational effort required for simulation. From a modelling perspective however there are a number of interesting orthogonal behaviours within this loose algorithm description which we can vary to potentially provide interesting results.
|
||||
|
||||
The first is the seed which is used to start the aggregation process. The traditional choice of a single seed models the spontaneous growth of a cluster, but the system could be easily extended to diffusion onto a plate under influence of an external force field \cite{tanInfluenceExternalField2000}, or cluster-cluster aggregation where there are multiple aggregate clusters, which are capable of moving themselves \cite[pp.~210-211]{sanderDiffusionlimitedAggregationKinetic2000}.
|
||||
|
||||
The next behaviour is in the spawning of the active particle. The choice of spawning location is traditionally made in accordance to a uniform distribution, which bar any physical motivation from a particular system being modelled, seems to intuitive choice. However the choice of a single particle is one which is open to more investigation. This is interesting in both the effect varying this will have on the behaviour of the system, but also if it can be done in a way to minimise the aforementioned effects, as a speed up for long running simulations.
|
||||
|
||||
Another characteristic behaviour of the algorithm is the choice of diffusion mechanism. Traditionally this is implemented as a random walk, with each possible neighbour being equally likely. This could be altered for example by the introduction of an external force to the system.
|
||||
|
||||
Finally we arrive at the final characteristic we will consider: the space that the DLA process takes place within. Traditionally this is done within a 2D orthogonal gridded space, however other gridded systems, such as hexagonal, can be used to explore any effect the spaces \cite[pp.~210-211]{sanderDiffusionlimitedAggregationKinetic2000}.
|
||||
|
||||
\section*{Method}
|
||||
|
||||
To this end we designed a generic system such that these different alterations of the traditional DLA model could be written, explored, and composed quickly, whilst generating sufficient data for statistical measurements. This involved separating the various orthogonal behaviours of the DLA algorithm into components which could be combined in a variety of ways enabling a number of distinct models to be exist concurrently within the same codebase.
|
||||
|
||||
|
||||
This code was based off the initially provided code, altered to allow for data extraction and optimised for performance. For large configuration space exploring runs the code was run using GNU Parallel \nocite{GNUParallel} to allow for substantially improved throughput (this is opposed to long running, high $N$ simulations where they were simply left to run).
|
||||
|
||||
The code was written such that it is reproducible based on a user provided seed for the random number generator, this provided the needed balance between reproducibility and repeated runs. Instructions for building the specific models used in the paper can be found in the appendix.
|
||||
|
||||
% TODO Verify stats for said statistical measurements!!!
|
||||
%\subsection*{Statistical Considerations}
|
||||
% TODO Is this something we need to talk about? Or should it be in the appendix?
|
||||
|
||||
\subsection*{Fractal Dimension Calculation}
|
||||
|
||||
There are two methods of determining the fractal dimension. The first is by noting that the number of particles in an aggregate $N_c$ grows with the maximum radius $r_\mathrm{max}$ as
|
||||
|
||||
\begin{equation*}
|
||||
N_c(r_{\mathrm{max}}) = (\alpha r_{\mathrm{max}})^{df} + \beta
|
||||
\end{equation*}
|
||||
|
||||
where $\alpha, \beta$ are two unknown constants. Taking the large $r_\mathrm{max}$ limit we can take $(\alpha r_{\mathrm{max}})^{df} \gg \beta$ and hence,
|
||||
|
||||
\begin{align*}
|
||||
N_c(r_{\mathrm{max}}) &= (\alpha r_{\mathrm{max}})^{df} + \beta \\
|
||||
&\approx (\alpha r_{\mathrm{max}})^{df} \\
|
||||
\log N_c &\approx df \cdot \log\alpha + df \cdot \log r_{\mathrm{max}} \\
|
||||
\end{align*}
|
||||
|
||||
from which we can either perform curve fitting on our data, or by taking $\alpha = 1$ and hence giving us,
|
||||
|
||||
\begin{align*}
|
||||
\log N_c &= df \cdot \log r_{\mathrm{max}} \\
|
||||
df &= \frac{\log N_c}{\log r_{\mathrm{max}}}
|
||||
\end{align*}
|
||||
|
||||
This gives us a way to determine "instantaneous" fractal dimension.
|
||||
|
||||
A second method for determining the fractal dimension is known as box-count \cite{smithFractalMethodsResults1996a}. This involves placing box-grids of various granularities onto the aggregate and observing the number of boxes which have at least one particle within them. The number of these boxes $N$ should grow as,
|
||||
|
||||
\begin{equation*}
|
||||
N \propto w^{-d}
|
||||
\end{equation*}
|
||||
|
||||
where $w$ is the granularity of the box-grid and $d$ is the fractal dimension we wish to find. By a similar process as before we end up with,
|
||||
|
||||
\begin{equation*}
|
||||
\log N = \log N_0 - d \log w
|
||||
\end{equation*}
|
||||
|
||||
where $N_0$ is some proportionality constant. We will expect a plot of $(w, N)$ to exhibit two modes of behaviour,
|
||||
|
||||
\begin{enumerate}
|
||||
\item A linear region from which we can extract fractal dimension data.
|
||||
\item A saturation region where the box-grid is sufficiently fine such there each box contains either $1$ or none particles.
|
||||
\end{enumerate}
|
||||
|
||||
we will fit on the linear region, dropping some data for accuracy.
|
||||
|
||||
\todo{How much of this is actually in the Fractal Dimension section}
|
||||
27
prelude.tex
27
prelude.tex
@ -3,6 +3,7 @@
|
||||
\usepackage{todonotes}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{fontspec}
|
||||
\usepackage{amsmath}
|
||||
%\setmainfont{New York}
|
||||
%\setsansfont{New York}
|
||||
%\setmonofont{New York}
|
||||
@ -10,12 +11,12 @@
|
||||
|
||||
\usepackage{geometry} % to change the page dimensions
|
||||
\geometry{a4paper, left=17.5mm, right=17.5mm, textwidth=85mm,columnsep=5mm, top=32mm}
|
||||
%\setlength{\parindent}{0pt}
|
||||
\setlength{\parskip}{8pt}
|
||||
|
||||
\usepackage[backend=bibtex, dateabbrev=false]{biblatex}
|
||||
|
||||
\usepackage{graphicx} % support the \includegraphics command and options
|
||||
\usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent
|
||||
%\usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent
|
||||
|
||||
%%% PACKAGES
|
||||
\usepackage{booktabs} % for much better looking tables
|
||||
@ -43,6 +44,28 @@
|
||||
\renewcommand{\cftsecfont}{\rmfamily\mdseries\upshape}
|
||||
\renewcommand{\cftsecpagefont}{\rmfamily\mdseries\upshape} % No bold!
|
||||
\usepackage{authblk}
|
||||
|
||||
\usepackage{hyperref}
|
||||
|
||||
\newcommand{\singlecolumnabstract}[1]{
|
||||
\twocolumn[
|
||||
\begin{@twocolumnfalse}
|
||||
\maketitle
|
||||
\begin{abstract}
|
||||
#1
|
||||
\bigskip
|
||||
\end{abstract}
|
||||
\end{@twocolumnfalse}
|
||||
]
|
||||
}
|
||||
\setlength{\marginparwidth}{1.2cm}
|
||||
|
||||
\usepackage{refcount}% http://ctan.org/pkg/refcount
|
||||
\newcounter{fncntr}
|
||||
\newcommand{\fnmark}[1]{\refstepcounter{fncntr}\label{#1}\footnotemark[\getrefnumber{#1}]}
|
||||
\newcommand{\fntext}[2]{\footnotetext[\getrefnumber{#1}]{#2}}
|
||||
|
||||
|
||||
%%% END Article customizations
|
||||
|
||||
%%% The "real" document content comes below...
|
||||
|
||||
181
references.bib
181
references.bib
@ -1,3 +1,57 @@
|
||||
@article{ballDiffusioncontrolledAggregationContinuum1984,
|
||||
title = {Diffusion-Controlled Aggregation in the Continuum Approximation},
|
||||
author = {Ball, R. and Nauenberg, M. and Witten, T. A.},
|
||||
date = {1984-04-01},
|
||||
journaltitle = {Physical Review A},
|
||||
shortjournal = {Phys. Rev. A},
|
||||
volume = {29},
|
||||
number = {4},
|
||||
pages = {2017--2020},
|
||||
issn = {0556-2791},
|
||||
doi = {10.1103/PhysRevA.29.2017},
|
||||
url = {https://link.aps.org/doi/10.1103/PhysRevA.29.2017},
|
||||
urldate = {2023-03-15},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/DWGMBBIH/Ball et al. - 1984 - Diffusion-controlled aggregation in the continuum .pdf}
|
||||
}
|
||||
|
||||
@article{battyUrbanGrowthForm1989,
|
||||
title = {Urban {{Growth}} and {{Form}}: {{Scaling}}, {{Fractal Geometry}}, and {{Diffusion-Limited Aggregation}}},
|
||||
shorttitle = {Urban {{Growth}} and {{Form}}},
|
||||
author = {Batty, M and Longley, P and Fotheringham, S},
|
||||
date = {1989-11},
|
||||
journaltitle = {Environment and Planning A: Economy and Space},
|
||||
shortjournal = {Environ Plan A},
|
||||
volume = {21},
|
||||
number = {11},
|
||||
pages = {1447--1472},
|
||||
issn = {0308-518X, 1472-3409},
|
||||
doi = {10.1068/a211447},
|
||||
url = {http://journals.sagepub.com/doi/10.1068/a211447},
|
||||
urldate = {2023-03-15},
|
||||
abstract = {In this paper, we propose a model of growth and form in which the processes of growth are intimately linked to the resulting geometry of the system. The model, first developed by Witten and Sander and referred to as the diffusion-limited aggregation or DLA model, generates highly ramified tree-like clusters of particles, or populations, with evident self-similarity about a fixed point. The extent to which such clusters fill space is measured by their fractal dimension which is estimated from scaling relationships linking population and density to distances within the cluster. We suggest that this model provides a suitable baseline for the development of models of urban structure and density which manifest similar scaling properties. A typical DLA simulation is presented and a variety of measures of its structure and dynamics are developed. These same measures are then applied to the urban growth and form of Taunton, a small market town in South West England, and important similarities and differences with the DLA simulation are discussed. We suggest there is much potential in extending analogies between DLA and urban form, and we also suggest future research directions involving variants of DLA and better measures of urban density.},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/F2M3CGET/batty1989.pdf.pdf;/Users/joshuacoles/Zotero/storage/YAGMYPYZ/Batty et al. - 1989 - Urban Growth and Form Scaling, Fractal Geometry, .pdf}
|
||||
}
|
||||
|
||||
@article{bentleyMultidimensionalBinarySearch1975,
|
||||
title = {Multidimensional Binary Search Trees Used for Associative Searching},
|
||||
author = {Bentley, Jon Louis},
|
||||
date = {1975-09},
|
||||
journaltitle = {Communications of the ACM},
|
||||
shortjournal = {Commun. ACM},
|
||||
volume = {18},
|
||||
number = {9},
|
||||
pages = {509--517},
|
||||
issn = {0001-0782, 1557-7317},
|
||||
doi = {10.1145/361002.361007},
|
||||
url = {https://dl.acm.org/doi/10.1145/361002.361007},
|
||||
urldate = {2023-03-18},
|
||||
abstract = {This paper develops the multidimensional binary search tree (or k -d tree, where k is the dimensionality of the search space) as a data structure for storage of information to be retrieved by associative searches. The k -d tree is defined and examples are given. It is shown to be quite efficient in its storage requirements. A significant advantage of this structure is that a single data structure can handle many types of queries very efficiently. Various utility algorithms are developed; their proven average running times in an n record file are: insertion, O (log n ); deletion of the root, O ( n ( k -1)/ k ); deletion of a random node, O (log n ); and optimization (guarantees logarithmic performance of searches), O ( n log n ). Search algorithms are given for partial match queries with t keys specified [proven maximum running time of O ( n ( k - t )/ k )] and for nearest neighbor queries [empirically observed average running time of O (log n ).] These performances far surpass the best currently known algorithms for these tasks. An algorithm is presented to handle any general intersection query. The main focus of this paper is theoretical. It is felt, however, that k -d trees could be quite useful in many applications, and examples of potential uses are given.},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/EZJWE76J/Bentley - 1975 - Multidimensional binary search trees used for asso.pdf}
|
||||
}
|
||||
|
||||
@article{botetClusteringClustersProcesses1985,
|
||||
title = {Clustering of Clusters Processes above Their Upper Critical Dimensionalities},
|
||||
author = {Botet, R},
|
||||
@ -75,6 +129,24 @@
|
||||
file = {/Users/joshuacoles/Zotero/storage/65P85MN4/Lyons - 1983 - A Simple Criterion for Transience of a Reversible .pdf}
|
||||
}
|
||||
|
||||
@article{nicolas-carlockUniversalDimensionalityFunction2019,
|
||||
title = {A Universal Dimensionality Function for the Fractal Dimensions of {{Laplacian}} Growth},
|
||||
author = {Nicolás-Carlock, J. R. and Carrillo-Estrada, J. L.},
|
||||
date = {2019-02-04},
|
||||
journaltitle = {Scientific Reports},
|
||||
shortjournal = {Sci Rep},
|
||||
volume = {9},
|
||||
number = {1},
|
||||
pages = {1120},
|
||||
issn = {2045-2322},
|
||||
doi = {10.1038/s41598-018-38084-3},
|
||||
url = {https://www.nature.com/articles/s41598-018-38084-3},
|
||||
urldate = {2023-03-15},
|
||||
abstract = {Abstract Laplacian growth, associated to the diffusion-limited aggregation (DLA) model or the more general dielectric-breakdown model (DBM), is a fundamental out-of-equilibrium process that generates structures with characteristic fractal/non-fractal morphologies. However, despite diverse numerical and theoretical attempts, a data-consistent description of the fractal dimensions of the mass-distributions of these structures has been missing. Here, an analytical model of the fractal dimensions of the DBM and DLA is provided by means of a recently introduced dimensionality equation for the scaling of clusters undergoing a continuous morphological transition. Particularly, this equation relies on an effective information-function dependent on the Euclidean dimension of the embedding-space and the control parameter of the system. Numerical and theoretical approaches are used in order to determine this information-function for both DLA and DBM. In the latter, a connection to the Rényi entropies and generalized dimensions of the cluster is made, showing that DLA could be considered as the point of maximum information-entropy production along the DBM transition. The results are in good agreement with previous theoretical and numerical estimates for two- and three-dimensional DBM, and high-dimensional DLA. Notably, the DBM dimensions conform to a universal description independently of the initial cluster-configuration and the embedding-space.},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/TLE4AFWZ/10.1038@s41598-018-38084-3.pdf.pdf;/Users/joshuacoles/Zotero/storage/ZJDV8CJF/Nicolás-Carlock and Carrillo-Estrada - 2019 - A universal dimensionality function for the fracta.pdf}
|
||||
}
|
||||
|
||||
@article{niemeyerFractalDimensionDielectric1984,
|
||||
title = {Fractal {{Dimension}} of {{Dielectric Breakdown}}},
|
||||
author = {Niemeyer, L. and Pietronero, L. and Wiesmann, H. J.},
|
||||
@ -92,6 +164,23 @@
|
||||
file = {/Users/joshuacoles/Zotero/storage/LKJWGEMV/niemeyer1984.pdf.pdf}
|
||||
}
|
||||
|
||||
@article{procacciaDimensionDiffusionlimitedAggregates2021,
|
||||
title = {Dimension of Diffusion-Limited Aggregates Grown on a Line},
|
||||
author = {Procaccia, Eviatar B. and Procaccia, Itamar},
|
||||
date = {2021-02-09},
|
||||
journaltitle = {Physical Review E},
|
||||
shortjournal = {Phys. Rev. E},
|
||||
volume = {103},
|
||||
number = {2},
|
||||
pages = {L020101},
|
||||
issn = {2470-0045, 2470-0053},
|
||||
doi = {10.1103/PhysRevE.103.L020101},
|
||||
url = {https://link.aps.org/doi/10.1103/PhysRevE.103.L020101},
|
||||
urldate = {2023-03-15},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/BA59EJ99/Procaccia and Procaccia - 2021 - Dimension of diffusion-limited aggregates grown on.pdf}
|
||||
}
|
||||
|
||||
@article{sanderDiffusionlimitedAggregationKinetic2000,
|
||||
title = {Diffusion-Limited Aggregation: {{A}} Kinetic Critical Phenomenon?},
|
||||
shorttitle = {Diffusion-Limited Aggregation},
|
||||
@ -110,6 +199,23 @@
|
||||
file = {/Users/joshuacoles/Zotero/storage/YV9XD9VR/sander2000.pdf.pdf}
|
||||
}
|
||||
|
||||
@article{smithFractalMethodsResults1996a,
|
||||
title = {Fractal Methods and Results in Cellular Morphology — Dimensions, Lacunarity and Multifractals},
|
||||
author = {Smith, T.G. and Lange, G.D. and Marks, W.B.},
|
||||
date = {1996-11},
|
||||
journaltitle = {Journal of Neuroscience Methods},
|
||||
shortjournal = {Journal of Neuroscience Methods},
|
||||
volume = {69},
|
||||
number = {2},
|
||||
pages = {123--136},
|
||||
issn = {01650270},
|
||||
doi = {10.1016/S0165-0270(96)00080-5},
|
||||
url = {https://linkinghub.elsevier.com/retrieve/pii/S0165027096000805},
|
||||
urldate = {2023-03-16},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/ZWIYRKBT/Smith et al. - 1996 - Fractal methods and results in cellular morphology.pdf}
|
||||
}
|
||||
|
||||
@article{tanInfluenceExternalField2000,
|
||||
title = {Influence of External Field on Diffusion-Limited Aggregation},
|
||||
author = {Tan, Zhi-Jie and Zou, Xian-Wu and Zhang, Wen-Bing and Jin, Zhun-Zhi},
|
||||
@ -122,8 +228,61 @@
|
||||
issn = {03759601},
|
||||
doi = {10.1016/S0375-9601(00)00143-2},
|
||||
url = {https://linkinghub.elsevier.com/retrieve/pii/S0375960100001432},
|
||||
urldate = {2023-03-13},
|
||||
langid = {english}
|
||||
urldate = {2023-03-15},
|
||||
abstract = {The influence of external electric field on diffusion-limited aggregation ŽDLA. has been investigated by computer simulations. When the parameter l increases from 0 to `, the morphology of aggregates changes from pure DLA to chain-like pattern gradually, where l stands for the relative strength of field-induced dipolar interaction to thermal energy. The structure transition is the transition between a prototype disorder structure and a relative order one in essence. The reason of the transition is the interaction controlling systems changes from thermal force to field-induced dipolar interactions with l rising. q 2000 Elsevier Science B.V. All rights reserved.},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/34TKRN2A/Tan et al. - 2000 - Influence of external field on diffusion-limited a.pdf}
|
||||
}
|
||||
|
||||
@article{tentiFractalDimensionDiffusionlimited2021,
|
||||
title = {Fractal Dimension of Diffusion-Limited Aggregation Clusters Grown on Spherical Surfaces},
|
||||
author = {Tenti, J. M. and Hernández Guiance, S. N. and Irurzun, I. M.},
|
||||
date = {2021-01-29},
|
||||
journaltitle = {Physical Review E},
|
||||
shortjournal = {Phys. Rev. E},
|
||||
volume = {103},
|
||||
number = {1},
|
||||
pages = {012138},
|
||||
issn = {2470-0045, 2470-0053},
|
||||
doi = {10.1103/PhysRevE.103.012138},
|
||||
url = {https://link.aps.org/doi/10.1103/PhysRevE.103.012138},
|
||||
urldate = {2023-03-15},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/G4IEQGY6/tenti2021.pdf.pdf}
|
||||
}
|
||||
|
||||
@article{tokuyamaFractalDimensionsDiffusionlimited1984,
|
||||
title = {Fractal Dimensions for Diffusion-Limited Aggregation},
|
||||
author = {Tokuyama, M. and Kawasaki, K.},
|
||||
date = {1984-02},
|
||||
journaltitle = {Physics Letters A},
|
||||
shortjournal = {Physics Letters A},
|
||||
volume = {100},
|
||||
number = {7},
|
||||
pages = {337--340},
|
||||
issn = {03759601},
|
||||
doi = {10.1016/0375-9601(84)91083-1},
|
||||
url = {https://linkinghub.elsevier.com/retrieve/pii/0375960184910831},
|
||||
urldate = {2023-03-15},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/9XURJU5X/tokuyama1984.pdf.pdf;/Users/joshuacoles/Zotero/storage/JGBE6A2Y/Tokuyama and Kawasaki - 1984 - Fractal dimensions for diffusion-limited aggregati.pdf}
|
||||
}
|
||||
|
||||
@article{turkevichProbabilityScalingDiffusionlimited1986,
|
||||
title = {Probability Scaling for Diffusion-Limited Aggregation in Higher Dimensions},
|
||||
author = {Turkevich, Leonid A. and Scher, Harvey},
|
||||
date = {1986-01-01},
|
||||
journaltitle = {Physical Review A},
|
||||
shortjournal = {Phys. Rev. A},
|
||||
volume = {33},
|
||||
number = {1},
|
||||
pages = {786--788},
|
||||
issn = {0556-2791},
|
||||
doi = {10.1103/PhysRevA.33.786},
|
||||
url = {https://link.aps.org/doi/10.1103/PhysRevA.33.786},
|
||||
urldate = {2023-03-15},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/FSHPX9RK/turkevich1986.pdf.pdf}
|
||||
}
|
||||
|
||||
@book{vicsekFractalGrowthPhenomena1992,
|
||||
@ -137,6 +296,7 @@
|
||||
langid = {english},
|
||||
pagetotal = {488},
|
||||
keywords = {Fractals},
|
||||
note = {Semi-vetted, source Aengus},
|
||||
file = {/Users/joshuacoles/Zotero/storage/LJP5C4WG/Vicsek - 1992 - Fractal growth phenomena.pdf}
|
||||
}
|
||||
|
||||
@ -154,5 +314,22 @@
|
||||
url = {https://link.aps.org/doi/10.1103/PhysRevB.27.5686},
|
||||
urldate = {2023-02-24},
|
||||
langid = {english},
|
||||
note = {Unvetted, source google},
|
||||
file = {/Users/joshuacoles/Zotero/storage/ZP38RVBK/ZP38RVBK.pdf}
|
||||
}
|
||||
|
||||
@article{wuDependenceFractalDimension2013,
|
||||
title = {Dependence of Fractal Dimension of {{DLCA}} Clusters on Size of Primary Particles},
|
||||
author = {Wu, Hua and Lattuada, Marco and Morbidelli, Massimo},
|
||||
date = {2013-07},
|
||||
journaltitle = {Advances in Colloid and Interface Science},
|
||||
shortjournal = {Advances in Colloid and Interface Science},
|
||||
volume = {195--196},
|
||||
pages = {41--49},
|
||||
issn = {00018686},
|
||||
doi = {10.1016/j.cis.2013.04.001},
|
||||
url = {https://linkinghub.elsevier.com/retrieve/pii/S0001868613000353},
|
||||
urldate = {2023-03-15},
|
||||
langid = {english},
|
||||
file = {/Users/joshuacoles/Zotero/storage/KMWTNPKN/wu2013.pdf.pdf}
|
||||
}
|
||||
|
||||
84
report.tex
84
report.tex
@ -4,19 +4,6 @@
|
||||
\input prelude.tex
|
||||
\addbibresource{references.bib}
|
||||
\addbibresource{static.bib}
|
||||
|
||||
\newcommand{\singlecolumnabstract}[1]{
|
||||
|
||||
\twocolumn[
|
||||
\begin{@twocolumnfalse}
|
||||
\maketitle
|
||||
\begin{abstract}
|
||||
#1
|
||||
\bigskip
|
||||
\end{abstract}
|
||||
\end{@twocolumnfalse}
|
||||
]
|
||||
}
|
||||
\setlength{\marginparwidth}{1.2cm}
|
||||
|
||||
% What I wish the title was: Development and Testing of a generalised computational model for efficient diffusion limited aggregation modelling and experimentation.
|
||||
@ -27,75 +14,8 @@
|
||||
\date{March 21, 2023} % Due Date
|
||||
\begin{document}
|
||||
|
||||
\singlecolumnabstract{
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.
|
||||
}
|
||||
|
||||
\medskip
|
||||
|
||||
\section*{Introduction}
|
||||
|
||||
Diffusion-limited aggregation (DLA) models processes where the diffusion of small particles into a larger cluster is the limiting factor in a system's growth. It is applicable to a wide range of systems such as,
|
||||
|
||||
\begin{enumerate}
|
||||
\item \todo{think of better workds}
|
||||
\end{enumerate}
|
||||
|
||||
We will model diffusion limited aggregation under a number of novel and unusual conditions to determine the effects of various physical and modelling properties \todo{better word} on the system
|
||||
|
||||
% Mention MVA I think so I can reference it in the section on spaces alteration.
|
||||
|
||||
\section*{Discussion}
|
||||
|
||||
In physical systems modelled by the DLA process the growing aggregate is sitting within a medium through which particles diffuse until "sticking" to the aggregate adding to its extent. A high level description of the DLA algorithm is given as follows,
|
||||
|
||||
\begin{enumerate}
|
||||
\item An initial seed aggregate is placed into the system, without mathematical loss of generality, at the origin. This is normally a single particle.
|
||||
\item A new particle is then released at some sufficient distance from the seeded aggregate.
|
||||
\item This particle is allowed to then diffuse until it sticks to the aggregate.
|
||||
\item At this point the new particle stops moving and becomes part of the aggregate a new particle is released.
|
||||
\end{enumerate}
|
||||
|
||||
An actual implementation of this system will involve a number of computational parameters determining for example the radius that the particles are spawned at, or defining a "kill circle" past which we consider the particle lost and stop simulating it \cite[p.~27]{sanderDiffusionlimitedAggregationKinetic2000} (this is especially important in $d > 2$ dimensional spaces where random walks are not guaranteed to reoccur \cite{lawlerIntersectionsRandomWalks2013} and could instead tend off to infinity).
|
||||
|
||||
While these are interesting and important to the performant modelling of the system, we aim to choose these such to maximise the fidelity to the original physical system, whilst minimising the computational effort required for simulation. From a modelling perspective however there are a number of interesting orthogonal behaviours within this loose algorithm description which we can vary to potentially provide interesting results.
|
||||
|
||||
The first is the seed which is used to start the aggregation process. The traditional choice of a single seed models the spontaneous growth of a cluster, but the system could be easily extended to diffusion onto a plate under influence of an external force field \cite{tanInfluenceExternalField2000}, or cluster-cluster aggregation where there are multiple aggregate clusters, which are capable of moving themselves \cite[pp.~210-211]{sanderDiffusionlimitedAggregationKinetic2000}.
|
||||
|
||||
The next behaviour is in the spawning of the active particle. The choice of spawning location is traditionally made in accordance to a uniform distribution, which bar any physical motivation from a particular system being modelled, seems to intuitive choice. However the choice of a single particle is one which is open to more investigation. This is interesting in both the effect varying this will have on the behaviour of the system, but also if it can be done in a way to minimise the aforementioned effects, as a speed up for long running simulations.
|
||||
|
||||
Another characteristic behaviour of the algorithm is the choice of diffusion mechanism. Traditionally this is implemented as a
|
||||
|
||||
Finally we arrive at the final characteristic we will consider: the space that the DLA process takes place within. Traditionally this is done within a 2D orthogonal gridded space, however other gridded systems, such as hexagonal, can be used to explore any effect the spaces \cite[pp.~210-211]{sanderDiffusionlimitedAggregationKinetic2000}.
|
||||
|
||||
%TODO Include a note on long running and exploration simulations in the methodology section?
|
||||
|
||||
\subsection*{Method}
|
||||
|
||||
To this end we designed a generic system such that that these different alterations of the traditional DLA model could be written and explored quickly, collecting sufficient data for statistical measurements.
|
||||
|
||||
We first took the initially provided code \cite{IPC} and made minimal alterations such such that the code ran in reasonable time\footnote{When running on macOS systems the rendering code slows down the model by several orders of magnitude making it unsuitable for large scale modelling, hence it is removed, visualisation was handled externally.} and output data for analysis.
|
||||
|
||||
For large configuration space exploring runs the code was run using \cite{GNUParallel} to allow for substantially improved throughput.
|
||||
|
||||
The code was written such that it is reproducible based on a user provided seed for the random number generator, this provided the needed balance between reproducibility and repeated runs.
|
||||
|
||||
\subsection*{Fractal Dimension Calculation}
|
||||
|
||||
|
||||
\section*{Alteration 1: Probabilistic Sticking}
|
||||
|
||||
The first alteration of the system is the introduction of a probabilistic component to the sticking behaviour of the DLA system. Here we introduced a probability $p_{stick}$ to the initial grid based sticking behaviour of the particles, with the particle being given this probability to stick at each site (for example, if the particle was adjacent to two cells in the aggregate, then the probabilistic aspect would apply twice).
|
||||
|
||||
This was also the case used to ground both the minimally altered code, and our new generic system, to ensure they are functioning correctly. The data for both is presented in Figure \ref{sp-fig}.
|
||||
|
||||
\begin{figure}
|
||||
\includegraphics[width=\columnwidth]{newton.png}
|
||||
\caption{Sticking probability verThe minimally altered code and new generic system }
|
||||
\label{sp-fig}
|
||||
\end{figure}
|
||||
|
||||
\section*{Hexagonal}
|
||||
\input{introduction-dicussion-method.tex}
|
||||
\input{results.tex}
|
||||
|
||||
% TODO Formatting of these (for one its in american date formats ughhh)
|
||||
\printbibliography
|
||||
|
||||
90
results.tex
Normal file
90
results.tex
Normal file
@ -0,0 +1,90 @@
|
||||
\section*{Results}
|
||||
|
||||
\begin{figure}[t]
|
||||
\includegraphics[width=\columnwidth]{figures/rmax-n.png}
|
||||
\caption{The growth of $N$ vs $r_{\mathrm{max}}$ for $20$ runs of the standard DLA model. Also included is a line of best fit for the data, less the first $50$ which are removed to improve accuracy.
|
||||
% TODO Check all of my captions are correct.
|
||||
% TODO Add information for this
|
||||
}
|
||||
\label{rmax-n}
|
||||
\end{figure}
|
||||
|
||||
\subsection*{Preliminary Work: Testing Initial Implementation and Fractal Dimension Calculations}
|
||||
\label{ii-fdc}
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\includegraphics[width=\columnwidth]{figures/nc-fd-convergence.png}
|
||||
\caption{The converge of the fractal dimension of $20$ runs of the standard DLA model. This uses the the simple calculation method. The first $50$ data points are not included as the data contains to much noise to be meaningfully displayed. Also included in the figure is the value from theory, $1.71 \pm 0.01$ from \cite[Table 1, $\langle D(d = 2)\rangle$]{nicolas-carlockUniversalDimensionalityFunction2019}.}
|
||||
\label{nc-fd-convergence}
|
||||
\end{figure}
|
||||
|
||||
To start we do $20$ runs, with seeds $1, 2, \dots, 20$, of the standard DLA model using the minimally altered initially provided code. The fractal dimension is calculated using the simple method \todo{do I want to ref this?} and averaged across the $20$ runs. This is shown in Figure \ref{nc-fd-convergence} along with the result from literature, $d = 1.7 \pm 0.6$ \cite[Table 1, $\langle D(d = 2)\rangle$]{nicolas-carlockUniversalDimensionalityFunction2019}.
|
||||
\todo{Do I need to find a grid value for this I think this might be continuous}
|
||||
|
||||
Taking an average of the trailing $5000$ readings we come to a value of $d = 1.73$ \todo{errors and rounding}, while this values diverges slightly from the value reported in literature, this result provides a reasonable grounding for our model as being roughly correct and provides a useful point of comparison for future work.
|
||||
|
||||
This also allows us to say with reasonable confidence that we can halt our model around $N_C = 5000$ as a reasonable trade off between computational time and accuracy. This should be verified for particular model variations however.
|
||||
|
||||
\subsection{Probabilistic Sticking}
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\includegraphics[width=\columnwidth]{figures/eg-across-sp/sp-range.png}
|
||||
\caption{Here we see the result of three different DLA simulations with $p_{stick} = 0.1,0.5,1.0$ from left to right. Note the thickening of the arms at low probabilities.}
|
||||
\label{sp-dla-comparison}
|
||||
\end{figure}
|
||||
|
||||
As discussed one of the possible alterations of the system is the introduction of a probabilistic component to the sticking behaviour of the DLA system. Here we introduced a probability $p_{stick}$ to the initial grid based sticking behaviour of the particles, with the particle being given this probability to stick at each site (for example, if the particle was adjacent to two cells in the aggregate, then the probabilistic aspect would apply twice).
|
||||
|
||||
Comparing the results from different runs we can see in Figure \ref{sp-dla-comparison} the clear thickening of the arms with lower values of $p_{stick}$. This aligns with your observation of the fractal dimension, as seen in Figure \ref{sp-fd}.
|
||||
|
||||
\begin{figure}[hbt]
|
||||
\includegraphics[width=\columnwidth]{figures/sp-fd}
|
||||
\caption{The fractal dimension for the DLA system on a 2D grid lattice a sticking probability $p_{stick}$. This value was obtained from $100$ runs with different seeds, by computing the value of the fractal dimension using the simple method, taking a mean across the last $100$ measurements on a $2000$ particle cluster.
|
||||
% TODO These numbers are way too small given the results of Figure 1.
|
||||
}
|
||||
\label{sp-fd}
|
||||
\end{figure}
|
||||
|
||||
This was also the case used to ground both the minimally altered code, and our new generic system, to ensure they are functioning correctly. This is discussed in more depth in the Appendix, \nameref{generic-dla}.
|
||||
|
||||
\subsection*{Higher Dimensions}
|
||||
|
||||
The next alteration to explore is changing the embedding space to be higher dimensional. This is an excellent example of the versatility of the generic DLA framework as for higher dimensions it becomes advantageous to move from an array based grid storage to a k-dimensional tree structure for more efficient storage, while only moving to $O(\log n)$ average performance for searches and inserts\cite{bentleyMultidimensionalBinarySearch1975}.
|
||||
|
||||
Running with various values of $p_{stick}$ we get the results shown in Figure \ref{sp-fd-2d-3d}.
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\includegraphics[width=\columnwidth]{figures/3d-nc-fd-convergence}
|
||||
\caption{TODO}
|
||||
\label{3d-nc-fd-convergence}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}
|
||||
\includegraphics[width=\columnwidth]{figures/sp-fd-2d-3d}
|
||||
\caption{TODO}
|
||||
\label{sp-fd-2d-3d}
|
||||
\end{figure}
|
||||
|
||||
% TODO Do I want to do higher dimensions still 4d?
|
||||
% TODO how am I going to cope with the fact we don't agree with theory?
|
||||
% TOOD Look at theory to see if I can find a curve for these sp-fd graphs or at the very least note similarities and differences between them. "Given the erroneous behaviour for low sp we are uncertain as to the correctness). Maybe take another crack at boxcount since you've mentioned it and it might be interesting.
|
||||
|
||||
\begin{enumerate}
|
||||
\item The next obvious extension is 3D
|
||||
\item Try with on axis and off-axis movement
|
||||
\item See that off-axis has no effect but is quicker as traverses space quicker (I mean also validate this)
|
||||
\item Now try 3D + SP
|
||||
\end{enumerate}
|
||||
|
||||
% MORE EXTENSIONS
|
||||
|
||||
\subsection*{Continuous Space}
|
||||
|
||||
\begin{enumerate}
|
||||
\item We get a divergence from theory, what happens if we use continuous
|
||||
\end{enumerate}
|
||||
|
||||
\subsection*{Hexagonal}
|
||||
|
||||
\subsection*{External force onto wall}
|
||||
Loading…
Reference in New Issue
Block a user