Welcome! Thank you for considering the README file.
Contents
- What is the sca-toolsuite?
- Why using the sca-toolsuite?
- Getting it
- Thanks to
- Links
- Contact
- Enclosed files
The name sca-toolsuite stands for sca cellular automata toolsuite. Most of its tools can operate on every cellular automaton (CA) which is
- synchronous or purely asynchronous and
- 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).
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)
- ...
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 [email protected]:JohannesLorenz/sca-toolsuite.git #ssh
git clone -b stable https://github.com/JohannesLorenz/sca-toolsuite.git #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 [email protected]:JohannesLorenz/sca-toolsuite.git
Now, you can proceed with the installation.
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).
Links from this document:
- http://liinwww.ira.uka.de/~thw/
- http://www.sebastianfrehmel.de/studium/diplomarbeit/
- http://boost-spirit.com/home/feedback-and-support/
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\
\x72\x65\x6e\x7a\x2d\x68\x6f\x2e\x6d\x65\x0a"
The following files provide more information: