Modeling granular media using cellular automata

One-year project (preparatory classes, December 2020 – July 2022). Open-source hashing codes to reproduce erosion and craterization with custom rules.

Mathematical definition of a cellular automaton

A cellular automaton (CA) is a discrete dynamical system defined by:

  • Lattice L (e.g. ℤ or ℤ²): the set of cells.
  • State set S: a finite set of possible states for each cell.
  • Neighborhood NL: a finite set of relative positions (e.g. von Neumann, Moore).
  • Local rule f: SNS: the transition function applied uniformly at each cell.

A configuration is a map c: LS. The global map F is defined by (F(c))x = f( (cx+n)n∈N ) for each cell x. The system evolves in discrete time: ct+1 = F(ct).

Theorem (Curtis–Hedlund–Lyndon)

On the full shift SL with the product topology, a map F: SLSL is the global map of some cellular automaton if and only if F is continuous and commutes with the shift(s) (translation-invariant).

Simulator: Golly

Golly is free, open-source software for exploring cellular automata. It supports many rules (Life, Generations, Rule 110, etc.), very large grids, and scripting. Useful for testing custom rules and visualizing erosion/crater-like dynamics.