Diffusion-limited aggregation (DLA) is a way to form objects with a special beauty. It takes place in non-living (mineral deposition, snowflake growth, lightning paths) or living (corals) nature - or within computers. When you ever have used the program fractint (by Stone Soup Group) to play around with fractals, you might have been stumbled over DLA. But the implementation there does not give a deep insight into this phenomenon.
This topic was not part of my research at university, but just a pass by at that time. I had been inspired by the book
Fractal growth phenomena by Tamás Viczek, World Scientific Publishing Co, 1989, Singapore.
There was a simple demonstration of simulation. I implemented his approach and started some own experiments. Check out this good online-demonstration (java) of approaches mentioned in the book, implemented by Chi-Hang Lam.
So, read on or return to the start.
Diffusion is a random motion. Although the motion of individual particles is totally random with respect to the direction, it may happen that particles walk somewhat far relative to a starting point. But, in contrary to a normal flow, where all particles under investigation move more or less into the same direction, the average of walked distance of all particles within a random walk (aka Brownian motion) is zero. While one particle moves into this direction, another moves into another direction.
In diffusion there might be a net transport of material, when the starting situation is not a uniform distribution. As you might imagine, when you open a container with dye within an aquarium, after a while you will find the dye spread around all available water. When you do this experiment, you will see, that it takes a lot of time until you have a uniform color. This is typical for the underlying random mechanism. The dye particles move forth, back, back, forth, back, forth, forth, forth, back.... and this way it takes its time. This slowliness is typical for diffusion. Btw: diffusion is not only a phenomen in fluid systems, but also in solid phases. It just takes much more time then.
The driving force for such a spreading process is simply a statistical one. The energy differences between a state where all dye is in one corner or the state where all dye is totally spread might be zero. So, it's no preference between theses (or all the other possible) states. But there are so many more possibilities to arrange dye molecules within water in a spread way than to clot them together, so that it's highly unlike to find all molecules sticking in one edge. This is daily live experience. When oxygen would not spread, it would be hard to get it into our lungs ;-)
When particles have the possibility to attract each other and stick together, they may form aggregates. The forces between the particles may be weak or strong. For particles which carry some electrical charge (ions) the forces are typically very strong and thus there is a gain in energy when they build aggregates. So aggregates are a preferred state compared to spread ions. Usually such aggregates are well ordered, they form crystals. The ordering force is the shape and charge of the ions, you will (almost) always get the same shape with a distinct set of ions (NaCl typically forms a cube). And with crystals formed by charged particles the forces may work on comparable long distances. In ideal situations the crystals are very compact and regularly shaped.
Whithout an electrical charge the forces are much weaker. So, it may happen, that particles stick together for a while but at distinct opportunities they travel around again. Without the ordering force of the elecrical field of charged particles, the aggregates have no distinct shape. Each aggregat is unique. Such a building is also named a cluster. Often the aggregates are quite fluffy, not compact, but maybe tree like.
DLA-cluster are aggregates, where the shape of the cluster is in a way controlled by the possibility of particles to reach the cluster. When you start with a uniform distribution, some particles might meet. The aggregates may grow as long there are particles moving around. During the growth it may happen, that "arms" of the cluster "catch" particles so that they can't reach inner parts of the cluster. Older (inner) parts of the cluster can't catch new particles as the younger, outer parts of the cluster come into their way. During the diffusion of a particle through the solution it's more likely, that it attaches to the outer regions than to the inner ones of the cluster. Thus, a fluffy shape occurs, with many arms, like corals or trees. The volume is not filled in its entirety, but there are many gaps.
For dense and compact crystals you can describe the distribution by even numbers as exponents of their dimension. So, in a cube the third power of the length of one edge gives the volume. For loosly aggregated clusters these exponents form fractal numbers, somewhere between 2 (areas) and 3 (dense 3D-buildings). There are many mathematical models on various types of fractals. Probably the most well known type is the Mandelbrot-type.
Another aspect of fractals is the self-similarity. When you take a large DLA-cluster and simplify it's contour, scale it down to the size of a small DLA-cluster, they will look quite similar.
Recent analysis by Benoit Mandelbrot et al. of very large simulated clusters (more than millions of particles) seem to show, that the cluster becomes more compact while growing (lacunarity effect). For Details follow the below mentioned web course.
As there are lots of models in the field of investigation of fractals, computation is a way to compare the nature with the models. For DLA-cluster one approach is to simulate the random walk of the particles and their aggregation. Typically one uses a lattice, puts an initial seed particle at some origin and another particle somewhere on the lattice. Then the second particle moves around in random motion, step by step from lattice site to lattice site. Finally it will meet the first particle. Then another particle is thrown onto the lattice, it walkes around and after a while meets the first two. This is continued for as many particles as one likes, one after the other (Witten and Sander-model).
As you might imagine, this must be a very slow simulation, since most of the time the particles move around and around and only rarely come into the vicinity of the cluster, where they might stick. This problem becomes much more relevant, when the cluster grows and the amount of gaps between the arms is by far bigger than the amount of lattice sites in the vicinity of the cluster. Thus, many computations of big clusters had to be done on fast mainframe machines. But various approaches came up to reduce this time while maintaining the random character and the diffusion control of the mechanism.
Within these simulation models, there may be some variations:
Science often tries to understand, why things in nature happen this or that way. Knowing details helps to improve how man can make use of such insights. When it comes to industrial application, the research may become more relevant. Fields of interest are exploitation of oil resources embedded in sand by means of water pressed into the sand. So water-oil-surface may or may not exhibit shapes which resemble those of DLA.
Another field is catalyst forming. These materials of great value in chemical engineering may also show strongly branched surfaces whith many holes and channels. The very large surface area is often quite relevant for the catalytic process.
When metals like copper or gold are separated electrolytically out of a solution (electrodeposition), shapes like DLA-cluster may occur under certain conditions. Also, when metals are deposited onto surfaces from gaseous phase to get very thin films a DLA-growth might occur. Another example for such a deposit is carbon on the walls of a cylinder of a Diesel engine. These effects may or may not be wanted, depending on the destination of the deposits.
The generation of polymers out of solutions may follow a DLA-mechanism. The properties of the resulting molecules may depend strongly on this. The same holds when solid phases form in undercooled liquid phases.
Basing on the outline in the above mentioned book I wrote a few programs (in PASCAL) to calculate clusters (DLA and DLD). Some are graphically based, some only calculators, while the cluster must be viewed with another program. Some produce output which can be used for further calculations.
One advantage of my generators is, that the information about the time of the aggregation remains available in the cluster. So, when scaling the age with the overall amount of aggregated particles and displaying this in colors, you will get really nice pictures (see the already mentioned java applets, which follow this approach too). I also made few modifications, which could speed up the process a little bit further.
If you're interested in the programs, just email me. I must admit that I did not follow the scientific research in this field, so I'm not aware of recently developed algorithms.
Hopefully, you got some insight into this nice field of research and maybe you got inspired to do some own experiments.