Appendix 6: Site and Bond Percolation Thresholds

(i) Definitions

Consider a finite square lattice in which some, but not necessarily all, sites are occupied (by spins), and in which any two spins occupying nearest neighbour sites are connected by an open bond. A "spanning path", if one exists, is a set of occupied sites, each of which is connected to another member of the set, which includes two sites on opposite sides of the lattice, so that starting from one of them a path can be traced to the other. In a dilute lattice (in which not all sites are occupied) there may or may not be a spanning path. Whether there is depends on the concentration p of the sites, i.e., the proportion of sites occupied by spins. As p is increased the probability of a spanning path increases from 0 to 1. There is a threshold value at which spanning paths suddenly emerge. This is called the site percolation threshold.

In an infinite square lattice the site percolation threshold is the smallest concentration p of sites at which an infinite cluster of sites (i.e., an unbounded cluster) emerges when sites are occupied with that concentration.

The bond percolation threshold is a similar concept. Consider a finite square lattice in which all sites are occupied (by spins), but in which any two spins occupying nearest neighbour sites may or may not be connected by an open bond. The concept of a "spanning path" applies as above. In a dilute lattice (in which not all bonds are open) there may or may not be a spanning path. Whether there is depends on the concentration p of the open bonds, i.e., the proportion of nearest neighbour sites which are connected by open bonds. As p is increased the probability of a spanning path increases from 0 to 1. The bond percolation threshold is the threshold value at which spanning paths suddenly emerge.

As before, in an infinite square lattice the bond percolation threshold is the smallest concentration p of open bonds at which an infinite cluster of sites emerges.

(ii) Types of Cluster

The concept of a "cluster of spins" arose in the consideration of a pure lattice, in which all lattice sites are occupied by spins (of various spin values) and all spins are connected by energetic bonds.

The concept of a "cluster of sites" arose in the consideration of percolation, in which either (a) some sites of a lattice may be unoccupied but all occupied sites are connected directly or indirectly by nearest neighbour bonds or (b) all sites of a lattice are occupied but not all nearest neighbour bonds are open. In each case one may speak of "clusters" of occupied sites connected by open bonds.

When we consider dilute spin systems we encounter the possibility of lattices in which not all sites are occupied, not all bonds are open and sites may be occupied by spins which may possess various spin values. In such a case we may distinguish various types of cluster, e.g. a cluster of nearest neighbour sites is not necessarily a cluster of sites all connected by open bonds. We now distinguish these types of clusters in such a way that the terminology may be applied both to percolation and to dilute spin models.

Each lattice site is occupied by a spin (which has a spin value) or it is unoccupied. Lattice bonds, which connect nearest neighbour sites, may be open (energetic) or closed.

A nearest-neighbour cluster is a set of spins at occupied sites connected directly or indirectly by lattice bonds (whether open or closed).

An open-bond cluster is a nearest-neighbour cluster in which all spins are connected directly or indirectly by open bonds.

A single-value cluster is a nearest-neighbour cluster in which all spins have the same spin value.

A spin cluster is an open-bond cluster which is also a single-value cluster.

These concepts are illustrated by means of a 3x3 square site- and bond-diluted lattice consisting of six Ising spins, labelled a through e. Unoccupied sites are shown by . and open bonds by ---:

+1(a) --- -1(b) --- -1(c)

+1(d)       .         .      

 .        +1(e) --- -1(f)

The two nearest-neighbour clusters are { a, b, c, d } and { e, f }. The two open-bond clusters are { a, b, c } and { e, f }. The two single-value clusters are { a, d } and { b, c }. The sole spin cluster (of more than one spin) is { b, c }.

A fifth type of cluster is found in connection with the Swendsen-Wang dynamics algorithm. The application of this algorithm involves the creation of "virtual" bonds between spins within a spin cluster. Since not every (open) bond becomes a virtual bond, each spin cluster is usually partitioned into several virtual clusters.

The logical relations among these five types of clusters are:

              Nearest neighbour cluster
                /                \
    Open-bond cluster         Single-value cluster
                 \               /
                    Spin cluster
                         |
            Swendsen-Wang virtual cluster

For a study of percolation thresholds we are concerned with open-bond clusters (since we are concerned only with bonds between occupied sites and do not care about the spin values of the spins at those sites).

(iii) Computational Determination of Percolation Thresholds for Pure Lattices

The main function of the simulation program is to study the dynamics of spin systems, but much of the code is useful for another purpose, namely, the determination of percolation thresholds and percolation correlation lengths.

A basic algorithm for computing percolation thresholds is as follows:

min_p = 0
max_p = 1
While ( max_p - min_p > precision )
    For p=min_p to max_p in steps of (max_p-min_p)/5
        Generate multiple configurations
            and get percentage with spanning cluster.
    End For
    If percentages are not increasing (or another anomaly occurs)
        Repeat the For-loop
    Else
        min_p = largest p with percentage < 50
        max_p = smallest p with percentage > 50
    End If
End While

In practice it is found necessary to refine this algorithm to take account of random fluctuations in the percentage of configurations found to have a spanning cluster. The refinements are:

(i) To increase the number of configurations generated as we narrow the range (min_p through max_p) within which the true percolation threshold value is believed to occur.

(ii) To introduce a value epsilon such that if the start or end of a new range is within epsilon of 50% then the range is expanded, the value of epsilon decreasing as the range decreases.

Results for the bond percolation threshold and the site percolation threshold may be obtained for lattices of various sizes. The percolation threshold (of each type) is then plotted against the reciprocal of the lattice size. A linear fit to the data gives us the y-axis intercept, which is interpreted as the limit of the percolation threshold value as the lattice size tends to infinity.

Title pageContentsNext: Appendix 7