/abelian-sandpile

Cellular automata models: Abelian Sandpile & Game of Life on triangular and generalised n-dimensional grids.

Primary LanguagePythonMIT LicenseMIT

Cellular Automata: Abelian-Sandpile and generalised Game of Life

Implementation of generalirsed cellular automata models using NumPy containers for optimised run times, avoiding nested "for" loops where possible.

Fig. Sandpile converged states for a 64x64 (left) and 512x512 (right) grid.

Functions included in the automata class:

  • Abelian Sandpile
  • Game of Life (triangular mesh)
  • Game of Life (generic rules)
  • Game of Life (generic n-dimensional mesh/connectivity graph)

Requirements

  • NumPy
  • Matplotlib
  • Pytest
  • Scipy