Program: PERSHAPE.EXE
This exercise is designed to apply percolation theory to a real percolation problem. It will allow the user to see, in a simple way, the effect of microstructure on percolation properties, and will familiarize them with the computational tools and methods useful in analyzing the percolation properties of computer simulation models.
In the introduction to this section on percolation theory, the problem of overlapping circles in the plane was presented. This was just an idealized version of the more general problems of randomly building up a structure out of individual particles, and determining where the percolation threshold is in terms of the number of particles used or the volume fraction occupied by the structure. For example, the degree of hydration required for setting of a cement paste is a percolation problem, since connections are being randomly built up, via the formation of reaction products, between the initially isolated (disconnected) cement particles.
This exercise will address the problem of building up structures out of randomly-oriented and placed ellipses or rectangles, and studying the effect of the shape of the individual particles on the percolation threshold, the point at which the structure becomes continuous. The shape of the particles is quantified by the aspect ratio, which is defined as the ratio b/a of the semi-minor axis b to the semi-major axis a. The particles are allowed to freely overlap, just as in the circle model discussed earlier. The particles will be oriented randomly either horizontally or vertically, which has been shown to give comparable results to random orientations of all possible angles.
Switch to the appropriate directory and type PERSHAPE at the DOS prompt to begin its execution. The program is interactive, and is set up for randomly placing ellipses or rectangles on a square unit cell that is 300 x 300 pixels in dimension. Periodic boundary conditions are used, which means that a particle that sticks out on one side is wrapped around and brought back in on the other side. Initially, the program will ask whether the user wishes to place ellipses or rectangles and prompt them for the values of 2a (major axis dimension), which should always 21 for this exercise, and of 2b (minor axis dimension), which can range from 3 to 21. When entering the values of 2a and 2b, they should be entered on the same line separated by a single space. The goal is to execute the program for the values of 2a and 2b given in Table 4. At each step, the program will ask the user for the number of additional particles they wish to place. After placing the particles, the program will determine the connectivity of the system structure from top to bottom, and from left to right utilizing periodic boundaries on the sides parallel to the direction of the burning. A flag variable (burnt) will be output, taking a value of 1 if a percolated pathway exists, and 0 otherwise. The program will also report the area fraction covered by the particles in terms of a pixel count.
As an example, microstructures for overlapping ellipses (with 2a=21 and 2b=5) are shown in Figure 1. The top left corner figure shows a system containing 550 ellipses which is not percolated from top to bottom as shown in the top right corner figure. Here, the burning algorithm has been executed and all ellipses accessible from the top of the system are shown in bright white. The bottom two figures are for the same system to which an additional 150 ellipses have been added, for a total of 700 ellipses. Now, the system is percolated from top to bottom and all accessible ellipses are once again shown in bright white in the lower right corner figure.
Figure 1: Microstructures for overlapping ellipses (with 2a = 21 and 2b = 5). Top left: system containing 550 ellipses, top right: not percolated from top to bottom as shown by partial burning. All ellipses accessible from the top of the system are shown in bright white. Bottom left: same system, but with an additional 150 ellipses, bottom right: system is percolated from top to bottom with all accessible ellipses shown in bright white..The user's task is to compute the dependence of the percolation threshold pc, the area fraction of particles needed for the solid structure to become continuous, on the aspect ratio b/a. The quantity nc, the number of particles per unit area at the percolation threshold will also need to be recorded. Averaging results over several separate executions will increase the accuracy of these numeric values so multiple runs should be executed if possible.
The output from this assignment will be a graph (use a spreadsheet or graphics
package to create it), showing pc vs. particle aspect
ratio, for both ellipses and rectangles. The user should prepare a table of
nc vs. b/a and consider the quantities
nc (a+b)2
for ellipses and
(4 /
)nc(a + b
)2 for
rectangles. Try to see
if there is anything interesting about these quantities for various values of b.
| 2a | 2b | Ellipse area (pixels) | Rectangle area (pixels) |
| 21 | 3 | 51 | 63 |
| 21 | 5 | 85 | 105 |
| 21 | 7 | 119 | 147 |
| 21 | 9 | 149 | 189 |
| 21 | 11 | 183 | 231 |
| 21 | 13 | 217 | 273 |
| 21 | 15 | 247 | 315 |
| 21 | 17 | 281 | 357 |
| 21 | 19 | 315 | 399 |
| 21 | 21 | 349 | 441 |
Tips.(1) The best value for pc for a given run is the average of the critical values for left-
right and top-bottom percolation. In an infinite system, these are always the same, but for a
finite-size system like the one here, they are often somewhat different. (2) There is a formula
that gives, for completely randomly-placed overlapping objects, the area fraction occupied by
them as a function of the number placed. This formula is
| (6) |
where N is the number of objects placed, a is the area of one object, and A is the total area of the region where they are being placed. In our exercise, A=3002 = 90,000 pixels, and a is the particle area in pixels, which is given in Table 4 for both ellipses and rectangles. This formula will not be perfectly accurate for this finite-size system, but will be accurate enough for the user to estimate how many particles will be needed to attain a given area fraction for a specific area particle. The user should check the actual value of p, averaged over several realizations at a fixed number of particles, against the formula. They should agree within a percent or so. (3) Since the program asks for the number of additional particles to be added, the user must start out below the percolation threshold, so that they can add particles to achieve the threshold. (4) To start, for 2a=21 and 2b=3, the user should place 500 ellipses or rectangles and then add more according to their best judgement to approach percolation. The user should try to determine nc to ±10%.