Skip to content
Theo Bains
Menu
All projects

academic project

3D Invasion Percolation: Fractal Geometry and Self-Organised Criticality

An individual Computational Mathematics report simulating fluid invasion on lattices with a priority queue, measuring fractal dimension and self-organised criticality.

Interactive demo

Invasion percolation

Fixed random resistances fill a 2D square lattice. A binary min-heap always exposes the weakest site on the cluster's entire boundary - there is no tunable invasion threshold.

Lowest boundary resistance first
Simulation controls

Amber is newest, pale blue is the live boundary, and the colour trail records invasion order. “New field” increments the visible seed, so every field remains reproducible. Reduced-motion preferences skip the animation.

Mass
1
Frontier
4
Radius of gyration
0.00
Latest resistance
0.681
Invaded-resistance distribution

Counts in 12 equal-width bins. The dashed line is the fixed 2D observational reference pc ≈ 0.5927.

0 resistance1 resistance

Basic explanation

Imagine oil displacing water in porous rock. At each step the invading fluid does not occupy sites at random: it takes the easiest available route - the unoccupied neighbour of the wet region with the lowest capillary resistance. Repeating that local choice grows a branching cluster with trapped “fjords” of defending fluid rather than a solid ball.

The written report studies this process - invasion percolation - on three-dimensional lattices. The browser demo below is deliberately two-dimensional so the same growth rule is visible step by step; it illustrates the algorithm, not the 3D measurements.

Research question

Standard site percolation occupies sites independently with a fixed probability pp. That model is fundamental, but it is a poor description of dynamic drainage: real invasion follows paths of least resistance and has no externally tuned occupation probability.

The individual project therefore asks two linked questions:

  1. What fractal dimension dfd_f do invasion clusters attain in three dimensions?
  2. Does the process exhibit self-organised criticality - approaching the ordinary percolation threshold pcp_c through its own growth rule rather than by setting p=pcp = p_c by hand?

The work extends a preceding group report on classical percolation definitions and one-dimensional cases; the individual report focuses on the invasion algorithm, optimisation, and 3D analysis.

Computational method

Each site ii on an L×L×LL \times L \times L lattice receives a uniform random resistance riU(0,1)r_i \sim U(0,1). Growth proceeds by a burst dynamic:

  1. Occupy a central seed.
  2. Maintain the interface: empty neighbours of occupied sites.
  3. Invade the interface site with globally minimal resistance and expand the interface.

A naïve scan of the interface each step costs O(N)O(N) work and O(N2)O(N^2) overall - impractical for N>105N > 10^5. I stored the boundary in a min-heap so the weakest site is always at the root. Insertions and extractions then cost O(logN)O(\log N), giving roughly O(NlogN)O(N \log N) total time and making side lengths such as L=100L = 100 routine.

Fractal scaling

Invasion clusters are fractal because the fluid seeks rare low-resistance corridors. Mass MM and radius of gyration RgR_g are compared through a power-law fit whose exponent is the fractal dimension dfd_f.

Simulations on large lattices (L=400L = 400 in 2D, L=150L = 150 in 3D), repeated across realisations, produced

  • df1.88±0.02d_f \approx 1.88 \pm 0.02 in two dimensions, close to the literature value 1.89\approx 1.89 for invasion percolation with trapping;
  • df2.52±0.03d_f \approx 2.52 \pm 0.03 in three dimensions, denser because the extra dimension lets the fluid bypass obstacles.

Self-organised criticality

In ordinary percolation, fractal spanning structures appear only near a tuned pcp_c. In invasion percolation the acceptance profile of invaded resistances is nearly uniform up to a sharp cutoff near the known three-dimensional site threshold pc0.31p_c \approx 0.31. The algorithm never sets an occupation probability equal to pcp_c; the critical scale emerges from always invading the weakest boundary site.

What the demo shows

The interactive lattice uses the same weakest-boundary rule on a smaller 2D grid, with a frontier highlighted and an invaded-resistance histogram. Geometry and the reference threshold differ from the 3D report, so treat the demo as a visual explanation of the data structure and growth rule, not a reproduction of the measured dfd_f.