Skip to content


Repository files navigation

Build status


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 7 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:


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:


a toolsuite to simulate many cellular automata







No releases published