# How can we speed up the growth of a cluster in a simulation

As the simple simulation of a DLA-growth relies on the random walk of one particle after the other this is the key to many improvements. During random walk the path a particle traveled is short compared to the number of steps done. But a particle has to walk across long paths, when a DLA-cluster becomes larger. Thus, by increasing the stepsize under certain conditions it would be possible to cross these long paths in shorter time.

The following significant tricks are mentioned in the book of Vicsek:
The following ideas eventually could make some slight further improvements (partially used within my programs):
So, read on for details or return to the main DLA page or even back to the start.

Instead of placing the walker at any location on the grid, it is placed at a release radius R0 from the seed. This radius is chosen just a bit larger than the radius of the cluster (and thus changes, when cluster grows). There is no difference for a particle reaching a point at this radius than reaching any other point outside the cluster.

Btw: some use circular release lines, other use square release lines. Obviously, the area of a circle is smaller than the one for the square, so the circular cluster envelope should leave less sites to cross over during random walk. On the other hand a release point on a square is easier to calculate.

back to toc

## Large steps outside release radius

Outside the release radius we can safely increase the stepsize up to the distance (Delta R) to the release radius while calculating an arbitrary direction. Under best circumstances a particle would come into close vicintity of the cluster during one step.

back to toc

## Kill radius for lost particles

When a particle walks to far abroad, it does not make sense to wait until it eventually might return. Just let it go and release a new particle. The radius (Rk) chosen for this might be 10 times R0. When this radius is chosen too close to R0 we will have to kill and rereleas particles quite often. Within the region between R0 and Rk the particle can travel quite fast to very different locations around the cluster before finally dipping into the cluster area itself.

back to toc

## Large steps inside release radius but far from cluster

For larger clusters even the grid within R0 has many waste sites which will not lead to an attachment. So, calculate the (shortest) distance (delta R) to the cluster for each lattice site and adjust the step size (l') accordingly.

Practically: start with a default value (reasonable: lmax=15-30) for all sites within R0 and reduce the value only for those sites which are closer to the cluster than lmax, e.g. are at distance delta R. Respectively the stepsize is l' for sites nearby the cluster or the fix Delta R for sites with the default value. The information for the largest possible stepsize l' has to be updated after each attachment of a particle to the cluster. Thus, the range should not be too large, since the larger the range is chosen the more sites have to be updated after an attachment. Again, one could play either with circular or square regions for this.

In my program I used the color to code the distance. This gave nice pictures during growth, like cultures of yeast or bacteria in Petri plates. The cluster seemes to lie within a canyon.

back to toc