% !TEX TS-program = lualatex
% !TEX encoding = UTF-8 Unicode

\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.

\title{\textbf{Diffusion Limited Aggregation under Novel Conditions using}}
\author{Candidate Number: 24829}
\affil{Department of Physics, University of Bath}
\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}

% TODO Formatting of these (for one its in american date formats ughhh)
\printbibliography

\input appendix

\end{document}
