\documentclass[12pt]{iopart}
\usepackage{iopams}  
\usepackage{todonotes}

\begin{document}

\title[Diffusion Limited Aggregation Investigation]{Analysis of Diffusion Limited Aggregation under a variety of behaviours}

\author{Candidate Number: XXXXX}
\vspace{10pt}
\begin{indented}
\item[] March 2023
\end{indented}

\begin{abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\end{abstract}

\section{Introduction}

\section{Discussion}

We identify three orthogonal characteristics of the system which we can vary to change the behaviour of the system:

\begin{enumerate}
	\item The sticking behaviour, for example introducing a sticking probability to the system such that a particle will not always stick when moving adjacent to the cluster.
	\item The random walk behaviour, for instance introducing a different probability distribution, or applying an external force.
	\item The space which the DLA process is embedded in, most notably its dimension.
\end{enumerate}

From this we will take the following observables

\begin{enumerate}
	\item The measured fractal dimension of the cluster.
	\item TODO the consequent critical exponent of the system
	\item The surface area of the cluster at various points in its evolution, both total and external.
	\item The percentage occupation of the cluster in a ball of equal radius.
\end{enumerate}

\todo{Cavities???}

\todo{We will want to break up that observable discussion into multiple paragraphs, talk about how the critical exponent is related to the fractal dimension, how that relates to the embedding dimension, etc. Why one might be interested in the two other observables we pulled out of our ass.}

\section{General Method}

\todo{What tense should this method be in?}

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.

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

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

\todo{Do we want to show that bouncing has no real effect}

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




\end{document}

