Tricritical Directed Percolation

Tricritical Directed Percolation (TDP) is a DP-class model that can be used to study vegetation dynamics, not only because the processes in this model have analogies in the context of ecology, but also because it possesses both continuous and abrupt transitions.



Green: Vegetation (Occupied)
Black: Desert (Unoccupied)


Simulation controls:





If the landscape has gone completely barren or become completely filled, then press 'Restart' to repopulate


Working

The system consists of an N x N array of cells wherein each cell can be either 0 (unoccupied) or 1 (occupied). The transitions are dictated as follows:
  1. Step 1: Select a random cell. Call this the 'focal cell'
  2. Step 2: If the focal cell is unoccupied, return to step (1). Otherwise, proceed to step (3)
  3. Step 3: Randomly select one of its four Von-Neumann neighbours. If the selected neighbour is unoccupied, then proceed to step (d). Otherwise, proceed to step (e)
  4. Step 4: With probability p, update the unoccupied neighbour cell from 0 to 1. This process is reproduction. Otherwise (with probability 1 - p), update the focal cell from 1 to 0. This is stochastic death.
  5. Step 5: The focal cell and neighbour cell collectively have 6 Von-Neumann neighbours. Select one at random. With probability q, update the selected cell to 1 (irrespective of its initial state). This is positive-feedback birth. Otherwise (with probability 1- q), update the focal cell from 1 to 0. This is density death.


Transitions

Before checking out either of these transitions, please make sure that the landscape is significantly populated. If you want the system to equilibriate faster, then increase the simulation speed.

  1. Continuous Transition:
    Set q = 0. Start from p = 0.7, and slowly decrease till p = 0.6. The occupancy should slowly decrease and finally reach zero around p = 0.62

  2. Abrupt Transition:
    Set q = 0.92. Start from p = 0.3, and slowly decrease till p = 0.26. The occupancy should suddenly collapse around p = 0.28


Note:
  1. A simultion speed of 100x corresponds to N^2 Monte Carlo updates every frame
  2. The boundary condition is periodic
  3. This simulation may lag on lower-end devices
  4. Related: Bernoulli Percolation, Porous Percolation, Contact Process.


Developed by ChanRT | Fork me at GitHub