Ordered list of essays on developing an implementation of diffusion-limited aggregation (DLA) in J
The project starts here with an introduction to diffusion-limited aggregation and an implementation already on the J wiki. This also was the basis for work by Ric Sherlock and Devon McCormick to come up with a good Rosetta Code entry for the "Brownian Tree" problem - another name for Diffusion-Limited Aggregation.
It continues here with a superficial re-vamp that aims to preserve how the original code works but make it superficially more J-like.
We look at how this revised version performs by devising some performance metrics and running the code with different parameters.
Then we attempt a deeper re-vamp to make the code more J-like here. This section also makes use of the J profiler.
We address a basic flaw in the original implementation here. This develops our general, perimeter-based release policy (starting from an older version of the DLA code) which will allow us to make the algorithm more efficient and general.
We explore the most crucial determinant of what shapes a DLA cluster by developing the "release policy" here. This essay overlaps with the previous one but works with the newer, explicit point-list version of the DLA code. It also summarizes the basic, re-vamped code that works with an explicit, multi-dimensional list of points but releases only a single particle at a time.
Finally, we'll wrap up our DLA essays with some performance enhancements.
We may explore the performance and complexity implications of multiple, simultaneous particle release, in parallel, in a future essay.