Geometric phase transition
The goal of this program is to demonstrate some of the important properties of percolation, especially near the geometrical phase transition. The key idea is the non-existence
of a spanning path for p < pc and the existence of a spanning path for p ≥ pc, where pc is the percolation threshold.
- An empty lattice is generated and sites are occupied with probability p. (The occupancy of a given site is independent of the occupancy of all other sites.)
- The Newman-Ziff algorithm is used to identify the clusters.
- Cluster properties are computed as a function of p. They include the probability of a site being in the spanning cluster,
the probability that there is a spanning cluster, and the mean cluster size.
- The cluster size distribution is computed at p = pc ≅ 0.5927, the percolation threshold for the square lattice.
- Repeat steps 1–4 and average over the trials and plot results.
A key property of systems undergoing a continuous phase transition is that
there exist clusters (such as the clusters of occupied sites in site percolation) of all sizes at the transition.
For p ≠ pc there are only small clusters in the nonspanning ("disordered") phase and only
the one spanning cluster and small clusters in the "ordered" phase. The small clusters can be characterized by a typical
length (called the correlation length in thermal systems and the connectedness length in percolation problems) which diverges
as a power law as the transition is approached. Other quantities also follow a power law near the transition.
- Run the program and look at the percolation configurations. The program only shows configurations near the percolation threshold,
pc ≅ 0.5927. Note that clusters appear at many different sizes. Because the system is close to the transition, there is sometimes a
spanning cluster and sometimes not. Increase the lattice linear size to 256 or greater and qualitatively describe the distribution of cluster sizes.
- Run the program again and after about 100 trials stop the program and look at the cluster size distribution (a log-log plot). Do you
see a linear plot for at least part of the data? What functional form does this linear dependence imply? Use the Data Table menu item under
Views and copy the data into a plotting or spreadsheet program and estimate the slope of the linear part of the data. The exact result for this
slope for an infinite system is -τ = -187/91 ≅ 2.05. How does your result compare?
- A spanning cluster is defined in the program to be one that touches both the left and right edge of the lattice. As soon as a cluster spans horizontally
we say there is a spanning cluster. In the infinite lattice limit clusters that span horizontally will always span vertically. For L = 128 estimate the value
of pc as the value of p where half the trials span. How does your estimate compare with 0.5927? How would you expect your estimate to change if
the spanning rule was that a cluster had to span both horizontally and vertically to be labeled a spanning cluster? How would you expect your estimate to change if
the spanning rule was that a cluster that spanned either horizontally or vertically?
- Choose L = 128 and do at least 100 trials (1000 is better). Copy the data for the mean cluster size and the probability P∞ that an occupied site is in the spanning cluster (P∞ is called the order parameter).
Make a log-log plot of P∞ versus |p-pc| with pc ≅ 0.5927. There should be a region of
your plot that is linear on this log-log graph, indicating a power law. Estimate the slopes. For the mean cluster size the exact result for an infinite lattice
is -γ = -43/18 and
for the order parameter it is β = 5/36.
- It is likely that your results for the slopes in Problem 4 are not very accurate. Another approach, called finite size scaling, is to recognize that the correlation
length also follows a power law with an exponent ν = 4/3. We can replace |p-pc| by L-1/ν, and log-log plots of the
order parameter versus L at the transition should be linear with a slope of -β/ν. Similarly, the mean cluster size should scale as Lγ/ν. Use the program to compute
β/ν and γ/ν for L = 10, 20, 40, 80, and 160, and compare with the exact results for β and γ. Use the exact result ν = 4/3. Because β is so small, your results for β/ν are likely to have
a large percentage error.
- Dietrich Stauffer and Ammon Aharony, Introduction To Percolation Theory,
Taylor & Francis (1985).
- H. Gould, J. Tobochnik, and W. Christian, An Introduction to Computer Simulation Methods (Addison-Wesley, 2006), 3rd ed., Chapter 12.
Updated 27 February 2007.