Percolation Theory

The purpose of this page is to introduce briefly the topic of percolation and to present simulation results for analysis. This is not an attempt to reproduce the existing body of literature on the subject but to give the mininum detail required in order to put the following work into context. For some work covering the details of percolation theory and its applications, please see the references below.

If you have any questions or comments about this content, please feel free to contact me at philb-mobiustech-net (replace the - with the @ and . characters as appropriate.)


Introduction

Consider a 2 dimensional (square) lattice where each entry (site) in the lattice is occupied with a probability p (and consequently, vacant with a probability 1 - p). We will refer to p as the occupation probability or the concentration.

We define a cluster as a set of nearest neighbour sites. As p increases we might expect to find that the average cluster size increases (see results below). Percolation is said to occur when a cluster spans the entire lattice, that is, when elements from the same cluster occur at opposite edges of the lattice.

A question that occurs is, at what p does percolation in a 2d square lattice first occur? The question can be investigated empirically by simulating percolations (see results below). The observed value is aproximately 0.6. The value is actually closer to 0.5927 and can be derived analytically for an infinitely large lattice. See references below for details. This value of p is called the percolation threshold and is denoted pc.

It is important to note that percolation threshold depends on the geometry of the lattice under investigation. The following results are taken from [1].

Lattice # nn* Threshold
1d 2 1
2d Honeycomb 3 .6962
2d Square 4 .592746
2d Triangular 6 .5
3d BCC 8 .246
3d FCC 12 .198
Bethe Lattice z 1/(z-1)

* = Nearest Neighbours


Simulations of Basic Percolation on the 2d Square Lattice

The following simulations were run using a 2d square lattice of length 1000. In order to detect percolation it is necessary to label the clusters. An efficient algorithm known as the Hoshen-Koppelman algorithm is used for this. An explanation and sample code is provided by Tobin Fricke on which this code is based.

concentration vs cluster count.



A cluster is reffered to as an S-Cluster is it comprises S sites. ns(p) (cluster distribution) is defined as the number of S-Clusters. It is common to divide by the number of sites in the lattice to give a more generalised measure.

Cluster Distribution.



Investigation of Properties & Crtical Exponents

Some critical exponents relating to percolation are defined below. In each case, results obtained from simulation are evaluated against the values provided by[1]. The following table lists these values:

α -2/3
β 5/36
γ 43/18
ν 4/3
σ 36/91
τ 187/91
D 91/48


Characteristic (Cutoff) Cluster Size Sξ
The characteristic cluster size   Sξ ∝ |pc - p|-1/σ



Mean Cluster Size S(p)
The mean cluster size   S(p) ∝ |pc - p|

Measurement of the mean cluster size S(p) is shown below. The value g = |pc - p| is shown in green.

Mean Cluster Size vs. Sigma Exp


The correlation length   ξ
The correlation length:   ξ ∝ |pc - p|


Strength, P(p)
The strength of the infinite (spanning finite???) cluster P(p) is the probability that an arbitrary site belongs to the cluster.
    P(p) ∝ (pc - p)β

The following plot indicates the growth of P(p) as the density increases. b = (pc - p)β is shown in green. The blue line (m*b) indicates b multiplied by a scaling factor (in this case 1.5).
.
Power vs. Beta Exp


Pair Connectivity, g(r)
The pair connectivity g(r) denotes the probability that a site at random position r from an occupied site belongs to the same cluster.

g(r) = e-r/ξ



Bibliography
1. Percolation Theory, Dr Kim Christensen
2. Introduction to Percolation Theory Prof. D Stauffer
3. Introduction to Computer Simulation Methods Gould & Tobochnik