## Percolation

Percolation is a geometrical model for which there is no temperature, but there is a phase transition. Site percolation on a square $L \times L$ lattice is characterized by sites, each of which is randomly occupied with probability $p$. There is a phase transition at $p = p_c$, such that below $p_c$ there are only small clusters of connected sites, but above $p_c$ there is a cluster that spans the entire system. At the phase transition various quantities diverge or vanish as a power law typical of critical phenomena. Percolation models are useful for understanding conductivity in metal-insulator mixtures and flow through porous materials.

Program `Percolation` calculates mean values of various quantities as a function of $p$ and provides a visualization of the clusters
at a user specified value of $p$. Clusters are identified using the Hoshen-Kopelman algorithm.

**Problem: Simulation of percolation**

Program `Percolation` generates site percolation configurations on a
square lattice and computes $P_\infty(p)$, the fraction of states in the spanning cluster; $S(p)$,
the mean number of sites in the finite clusters; $P_{\rm span}(p)$, the probability of a spanning cluster;
and $n_s$, the number of clusters with $s$ sites for various values of $p$. The clusters are shown at the
default value of $p=p_c \approx 0.5927$.

- Run the program and look at the configurations. A spanning cluster is defined in the program as one that connects the top and bottom of the lattice and the left and right boundaries. Describe the structure of the spanning clusters at $p=0.8$. Are the clusters compact with few holes or ramified and stringy?
- How would you describe the spanning clusters at $p=p_c$? Increase the size of the lattice. Do the spanning clusters become less dense? Do you see clusters of all sizes at $p= p_c$?
- Run the program for at least 100 trials at $p=p_c$ and make a log-log plot of the cluster size
distribution $n_s$ versus $s$. Do you see linear behavior for some range of values of $s$?
Choose
`Data Table`under the`Views`menu and fit your data to the form $n_s = A s^{-\tau}$, where $A$ and $\tau$ are fitting parameters. Compare your estimate for $\tau$ to the exact result for $\tau$ in $d=2$ given by $\tau = 187/91$. - Choose $p =0.4$ and 0.8 and look at the log-log plots of the cluster size distribution $n_s$ versus $s$. Is the qualitative behavior of $n_s$ for large $s$ the same as it is at $p=p_c$?
- *Choose $L = 128$ and do at least 100 trials (1000 is better) for values of $p$ near $p_c$. Make a log-log plot of $S(p)$ and $P_\infty(p)$ versus $p-p_c$. Is there a region of your plot that is linear, indicating a possible power law?

**Problem: Finite-size scaling**

A better way to estimate the values of the critical
exponents $\beta$ and $\gamma$ than fitting the $p$ dependence of $P_\infty(p)$ and $S(p)$ to their power
law forms near $p_c$ is to use *finite-size scaling* as we did for the Ising model.
The assumption of finite-size scaling is that there is only one important length in the system near $p=p_c$,
the connectedness length $\xi$.
We write $\xi \sim |p-p_c|^{-\nu}$ and $|p - p_c| \sim \xi^{-1/\nu}$.
Hence $P_\infty \sim (p - p_c)^\beta \sim \xi^{-\beta/\nu}$. For a finite system we
replace $\xi$ by $L$ and write $P_\infty \sim L^{-\beta/\nu}$. Similar
reasoning gives $S \sim L^{\gamma/\nu}$. Use Program `Percolation` to generate
configurations at $p=p_c$ for $L = 10$, 20, 40, and 80, and determine the ratios $\beta/\nu$ and $\gamma/\nu$.
Use the exact result $\nu = 4/3$, and compare your results with the exact
results $\beta = 5/36$ and $\gamma = 43/18$.
(Because $\beta$ is small, your results for $\beta/\nu$ are likely to not be very accurate.)

## Resources

Problems 9.9 and 9.10 in*Statistical and Thermal Physics: With Computer Applications*, 2nd ed., Harvey Gould and Jan Tobochnik, Princeton University Press (2021).