12.07.2015 Views

Chapter 13 - Davidson Physics

Chapter 13 - Davidson Physics

Chapter 13 - Davidson Physics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 14. FRACTALS AND KINETIC GROWTH MODELS 555random walker with a smaller diffusion coefficient. As this process continues, the clusters becomelarger and fewer in number. For simplicity, we assume a square lattice with periodic boundaryconditions. The CCA algorithm can be summarized as follows:i. Place N particles at random positions on the lattice. Do not allow a site to be occupied bymore than one particle. Identify the ith particle with the ith cluster.ii. Check if any two clusters have particles that are nearest neighbors. If so, join these two clustersto form a single cluster.iii. Choose a cluster at random. Decide whether to move the cluster as discussed. If so, move itat random to one of the four possible directions. The details will be discussed in the following.iv. Repeat steps (ii) and (iii) for the desired number of steps or until there is only a single cluster.What rule should we use to decide whether to move a cluster? One possibility is to select acluster at random and simply move it. This possibility corresponds to all clusters having the samediffusion coefficient, regardless of their mass. A more realistic rule is to assume that the diffusioncoefficient of a cluster is inversely related to its mass s, for example, D s ∝ s −x with x ≠ 0.A common assumption is x = 1. If we assume that D s is inversely proportional to the lineardimension (radius) of the cluster, an assumption consistent with the Stokes-Einstein relation, thenx = 1/d, where d is the spatial dimension. However, because the resultant clusters are fractals, wereally should take x = 1/D, where D is the fractal dimension of the cluster.To implement the cluster-cluster aggregation algorithm, we need to store the position of eachparticle and the cluster to which each particle belongs. In class CCA, which can be downloadedfrom ch14 directory, the position of a particle is given by its x and y coordinates and stored in thearrays x and y respectively. The array element site[x][y] equals zero if there is no particle at(x, y); otherwise the element equals the label of the cluster to which the particle at (x, y) belongs.The labels of the clusters are found as follows. The array element firstParticle(k) gives theparticle label of the first particle in cluster k. To determine all the particles in a given cluster, we usea data structure called a linked list. We implement the linked list using the array nextParticle,so that the value of an element of this array is the index for the next element in the linkedlist. The array nextParticle contains a series of linked lists, one for each cluster, such thatnextParticle[i] equals the particle label of another particle in the same cluster as particle i. IfnextParticle[i] = −1, there are no more particles in the cluster. To see how these arrays work,consider three particles 5, 9, and 16 which constitute cluster 4. We have firstParticle[4] = 5,nextParticle[5] = 9, nextParticle[9] = 16, and nextParticle[16] = -1.As the clusters undergo a random walk, we need to check if any pair of particles in differentclusters have become nearest neighbors. If such a situation occurs, their respective clusters haveto be merged. The check for nearest neighbors is done in method checkNeighbors. If site[x][y]and site[x+1][y] are both nonzero and are not equal, then the two clusters associated with thesesites need to be combined. To do so, we add the particles of the smaller cluster to those of thelarger cluster. We use another array, lastParticle, to keep track of the last particle in a cluster.The merger can be accomplished by the following statements:// l i n k l a s t p a r t i c l e o f l a r g e r c l u s t e r to f i r s t p a r t i c l e o f s m a l l e r c l u s t e rn e x t P a r t i c l e [ l a s t p a r t i c l e [ l a r g e r C l u s t e r L a b e l ] ] = f i r s t P a r t i c l e [ s m a l l e r C l u s t e r L a b e l ] ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!