In this paper we provide a new version of program for replacing the previous version. The frequency of traversing the clusters-list was reduced, and some code blocks were optimized properly; in addition, we appended and revised the comments of the source code for some methods or attributes. The compared experimental results show that new version has better time efficiency than the previous version. New version program summaryProgram title: CCA v03Program Files doi:10.17632/gzncs28f95.1Licensing provisions: Apache-2.0 LicenseProgramming language: JavaJournal Reference of previous version: Computer Physics Communications 204 (2016) 214–215.Does the new version supersede the previous version?: YesNature of problem: There is poor running efficiency in the previous version. In addition, some methods in Java entity classes are short of necessary optimization.Solution method: A number of redundant steps, and running frequency of loop statements, are optimized into a more reasonable range. Object oriented solution, easy to reuse, extend and customize, in any development environment which supports Java JDK.Reasons for the new version:1. In the previous version [2], for a random selected cluster moving a unit length, it must firstly obtain the maximum diffusion coefficient Dmax [1] which is searched from the clusters-list. In fact, it is not necessary that the program traverse the clusters-list for every diffusion step. If there is no aggregation between two clusters in the process of diffusion, the program does not have to traverse the clusters-list to get the Dmax in this step, because of no change for every cluster’s property around the system. Dmax just be saved as a global variable which is used to store the latest maximum value. When aggregation takes place, we just update the current maximum value of Dmax, so greatly reduce loop steps. Although contrary to the principles of object-oriented programming to some extent, it is worthy to make such sacrifice.2. Some methods in Java entity classes are short of necessary optimization, containing redundant codes which consume extra hardware resources.3. The source code of old program lacks necessary explanations for some methods or attributes. Moreover, some code comments, which are incorrect or inexplicable, need revise.Summary of revisions:1. Cut down the frequency of traversing the clusters-list.2. Optimize some code blocks.3. Append and revise the comments of the source code for some methods or attributes, so as to easily for users to understand, debug and maintain.Additional comments: [Display omitted] We provide a referential log–log plot of simulation time versus number of particles as shown in Fig. 1 by a general PC. In this simulation, constant concentration C is set to 0.01, diffusion exponent is set to 0.5, sticking probability exponent is set to 0, and absolute temperature is set to 298K, but the side length L of cube varies in 30, 40, 50, 60 and 70 (these parameters come from literature [1]). The number of particles N varies with the side length L(N=C∗L3), so we just adjust the side length to get different particle numbers.As we can see from Fig. 1, the coefficient of x is 2.2413 of the new version, which is near to quadratic complexity, the coefficient of x is 2.9367 of the previous version, which is very close to cubic complexity. Obviously, the new version has a better running efficiency than the previous version.The new program brings a high running speed, but cause another problem that one user cannot promptly click the “Suspend” button to see a snapshot what he or she wanted to see. For this fault, we append a “Slow down” checkbox which can reduce the running speed for users’ choice, so it improves user-experience.Running time: Determined by the initial parameters.