Geometric phase transition

Introduction

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.

Algorithm

  1. 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.)
  2. The Newman-Ziff algorithm is used to identify the clusters.
  3. 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.
  4. The cluster size distribution is computed at p = pc ≅ 0.5927, the percolation threshold for the square lattice.
  5. 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.

Problems

  1. 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.
  2. 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?
  3. 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?
  4. 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.
  5. 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.

References

Java Classes

Updated 27 February 2007.