Simple project to investigate Diffusion-Limited Aggregation (and teach me python)
Switch branches/tags
Nothing to show
Clone or download
Latest commit bfc523c Mar 1, 2018
Failed to load latest commit information.
img More nice images Aug 23, 2011 Update Mar 1, 2018 Set sensible default number of particles, made if statements more pyt… Aug 24, 2011

Diffusion-Limited Aggregation

Simple project to investigate Diffusion-Limited Aggregation (and teach me python). The project starts off with a single seed at the centre of a lattice. We then release random walkers at a certain radius from the seed: if they come into contact with seed they join it and a new walker is released. Conversely, if they wander too far from the centre, the walker is eliminated and a new one spawned.

To run, first download the script:

$ git clone git://
$ cd pyDLA

First make sure your system meets the requirements, then to run enter:

$ ./


As a result of this forum thread, a much faster version of the code was suggested by user Winston Ewert that uses the NumPy libraries more efficiently. I have uploaded this version as a branch for reference, which you can checkout using:

$ git checkout numpyFast


This script requires the NumPy and matplotlib libraries to run. To install these on Ubuntu:

$ sudo apt-get install python-numpy python-matplotlib


Crystal Growing . Crystal Growing around a box