Skip to content
a toolsuite to simulate many cellular automata
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Add game of life search grid Dec 13, 2017
doc Added Doxygen to CMake. Apr 13, 2014
src Fix gcc warnings. Images still not working. May 11, 2019
.travis.yml Added make test to .travis.yml. Stable. Oct 3, 2015 Markdown fixes. May 2, 2015
CMakeLists.txt Disable stupid imagemagick May 11, 2019 Markdown fixes. May 2, 2015 Markdown fixes. May 2, 2015 Markdown fixes. May 2, 2015 Fixed installation doc bugs. Aug 16, 2015
LICENSE.txt 64 bit support for eqsolver. Started switching to CMake. Added missin… Feb 19, 2014 Update mail address Dec 14, 2018
TODO.txt Runtime improvements for ca/ca. Mar 19, 2014


Welcome! Thank you for considering the README file.


  1. What is the sca-toolsuite?
  2. Why using the sca-toolsuite?
  3. Getting it
  4. Thanks to
  5. Links
  6. Contact
  7. Enclosed files

1 What is the sca-toolsuite?

The name sca-toolsuite stands for sca cellular automata toolsuite. Most of its tools can operate on every cellular automaton (CA) which is

  1. synchronous or purely asynchronous and
  2. uses a finite, two-dimensional grid

This toolsuite provides you with a number of tools to

  • create, read or write grids
  • exporting them to TGA, latex and ODS format
  • do math with them like in C++
  • do simulations
  • do very fast routines, especially for sandpile CA

Most of the tools can be combined using UNIX pipes (see examples in point 5).

2 Why using the sca-toolsuite?

Reasons for using it include the following.

  • The sca-toolsuite can simulate CA of many different types with both high flexibility and high efficiency. One example of flexibility is the piping mechanism:
    core/create 20 20 4 |
    ca/ca 'v+(-4*(v>=4))+(a[-1,0]>=4)+(a[0,-1]>=4)+(a[1,0]>=4)+(a[0,1]>=4)'
  • For sandpiles, we provide the (probably) worlds fastest algorithm. Our computation time was 37 per cent of the fastest algorithm we knew of before. For details, see 6 Enclosed files.
  • A GUI. It works for all CA.
  • Bug safety is important: Algorithms are kept simple and are being tested automatically.
  • A large documentation: doxygen and --help for all C++ programs.
  • Besides cellular automata, there are many more applications of this toolsuite:
    • rotor-routing (as described by Priezzhev et al, 1996)
    • image manipulation, e.g. with filters
    • calculating maths
    • running two-dimensional games easily (in progress)
    • spreadsheet (future feature)
    • ...

3 Getting it

There are (at least) two branches of sca-toolsuite: stable and master. If you're a user who needs a stable version, use the stable branch:

git clone -b stable #ssh
git clone -b stable #https

However, if you're a developer who would like to be up to date and can risk unstable versions, use the master branch:

git clone

Now, you can proceed with the installation.

4 Thanks to

In alphabetical order, the author thanks:

  • All people who give support for bost::spirit [3].
  • Oliver Schneider.
  • Philipp Lorenz.
  • Sebastian Frehmel, his diploma thesis at [2].
  • Dr Thomas Worsch [1] @ The Karlsruhe Institute of Technology (KIT).

5 Links

Links from this document: 2. 4. 6.

6 Contact

Feel free to give feedback. My e-mail address is shown if you execute this in a shell:

printf "\x6a\x6f\x68\x61\x6e\x6e\x65\x73\x40\x6c\x6f\

7 Enclosed files

The following files provide more information:

You can’t perform that action at this time.