Renormalization Group Method Applied to Percolation


    The goal of this program is to demonstrate how the renormalization group method works in the context of site percolation. It would be a good idea to first run the simulation of percolation.

     The renormalization group method can help us understand the transition from an "ordered" lattice with a spanning cluster to a "disordered" lattice with only non-spanning clusters. The method consists of two parts. The first averages over small length scales and is called coarse graining. The second part determines a new value of p equal to p', which describes the occupancy of the new coarse grained lattice. The program generates the coarse grained lattices and makes it easy for the user to estimate p' by a visual inspection of the coarse grained lattices.


  1. A percolation configuration is created by generating a random number for each lattice site and occupying a site if its random number is less than p.
  2. The coarse grained lattices are created as follows. Start from the original percolation lattice created randomly for the specified value of p. The new lattice is created by partitioning the lattice into 2 × 2 cells of four sites each. The cell is considered occupied if there are two vertically connected occupied sites. Hence, all cells with 3 or 4 occupied sites are occupied, and some of the cells with two occupied sites are occupied. This coarse graining procedure incorporates the idea of connectedness between sites, which is the essence of percolation. Two other rules that are sometimes used are that the cell must span both vertically and horizontally or the cell must span either vertically or horizontally.
  3. Once the original lattice is coarse grained into cells, the coarse graining process is repeated for the new lattice. This coarse graining procedure is repeated on subsequent coarse grained lattices until there is only one coarse grained cell remaining.


  1. Run the program for p = pc ≅ 0.5927 and note whether the new lattices become more ordered or less ordered. If you cannot tell, then the lattice is at the percolation threshold. Reduce p to 0.5. What happens now? What happens at p = 0.7? If the final coarse grained lattice almost always has an occupied site, then we say that the renormalization group flows to the (stable) fixed point at p* = 1. If the final result is an unoccupied site, we say that the RG flows to the (stable) fixed point at p* = 0.
  2. A fixed point is said to be stable if we start at a value of p slightly away from it, and the renormalization group flow always goes back to the fixed point. For example, choose p = 0.9. Does the value of p' always flow to p = 1? What about near the fixed point p* = 0? Start with p = 0.1. Do you conclude that these two fixed points are stable? Now repeat for p = pc. Is this a fixed point? Is it stable or unstable? Consider what happens for p = 0.55 and p = 0.65.
  3. Run the program for L = 32 and p = 0.5 to 0.7, changing p by 0.2 each time. For each value of p create at least 10 lattices and record how often the last coarse grained lattice is occupied. Repeat for L = 8 and L = 128. Plot the probability that the final coarse grained lattice is occupied versus p. Describe the nature of the curves you obtained and how sharply the probability changes near the percolation threshold as a function of L.


Java Classes

Updated 15 April 2010.