1. Improved simulation algorithm for soil colloid fractal aggregation based on unparallel Brownian motion.
- Author
-
Xiong Hailing, Yang Zhimin, and Li Hang
- Abstract
The cluster-cluster aggregation (CCA) model bridges the study of colloid aggregation by computer simulation and laboratory experiment. Two distinct and limiting regimes of irreversible colloid aggregation have been identified by computer simulation with the CCA model. One regime is diffusion-limited cluster aggregation (DLCA) corresponding to the rapid colloid aggregation. The other is reaction-limited cluster aggregation (RLCA) corresponding to the slow colloid aggregation. The simulations of the two regimes are both start with N non-overlapping identical particles distributed randomly in a cubic box with side-lengths of L. A three dimensional array, hypothetically named Cube[L][L][L], was usually used to represent the cubic box. Each particle in the cubic box occupies an element of the three dimensional array and are labeled with a different integer. When particles and/or clusters collide and aggregate, all particles in the resulting cluster are modified with the same label (one of them). The progression of Brownian movement and aggregation are realized by updating the labels of the corresponding array elements. However, a critical issue in this kind of simulation is how to efficiently distinguish all of the particles in any selected cluster only based on the three dimensional array Cube[L][L][L] when the cluster is to be moved. Similarly, there are difficulties in the process of collision detection to locate all neighboring positions of the cluster. The traditional method must perform exhaustive search in the whole system, what's more, this kind of exhaustive search will repeated over and over again in the simulation progression. In this paper, the traditional on-lattice CCA algorithm is optimized by improving the storage structure to reduce the time complexity, in which the simulation system is represented by a three dimensional array, while the clusters in the system are simultaneously stored by the linked lists respectively in programming. Another one dimensional array Cluster[N] is used to organize the linked lists and store the basic attributes of the clusters in the system. Initially, N linked lists, each only has one node, are created for the N randomly placed particles. After a cluster is moved, its particles is examined to determine whether any other clusters have been contacted via nearest neighbor occupancy. If aggregation does occur after the collision detection, the simple operation is to link the corresponding clusters. After an aggregation, the array Cluster should be indexed simultaneously because there may be some vacant linked lists. In the later random selection for the potential movement, these vacant linked lists should not be in the candidate lists. For the indexing, a one dimensional array Index[N] is used to store the non-vacant linked list subscripts of the array Cluster[N]. The current length of the Index is the number of the remaining clusters in the system. For example, if the new generated random number for the random selection is k, the label of the next moving cluster should be Index [k], and the linked list of this cluster is exactly linked by Cluster [Index[k]]. From this entry, all the particles in the cluster can be easily accessed. And then, the positions of the six neighboring boxes of each particle in the cluster can also be accessed by the element subscripts of the array Cube, which is needed for the collision detection. Brownian motion, collision detection and aggregation as the basic operations in the CCA simulation are all improved based on the compounded data structure. The results show that the new algorithm achieves linear time complexity from three cubed time complexity. This is a great contribution for researchers in large scale simulation of fractal aggregation. [ABSTRACT FROM AUTHOR]
- Published
- 2015
- Full Text
- View/download PDF