Twister is a program by Mark Bell, Tracy Hall and Saul Schleimer for constructing triangulations of surface bundles and Heegaard splittings from a description of a mapping class of a surface.

Twister is available from:
You can download the latest version directly from:

See the included users guide ./docs/Twister.pdf for instructions for installing, testing and using Twister as well as information about how it works.

To compile Twister as a standalone program using the provided makefile, simply navigate to this folder in a terminal and run the command:


To compile Twister manually using g++ (or in any equivalent C++ compiler) in Windows use the command:

g++ -o Twister.exe ./lib/kernel/*.cpp -D OS_ENVIRONMENT=0 -W -Wall
and on UNIX systems:
g++ -o Twister.out ./lib/kernel/*.cpp -D OS_ENVIRONMENT=1 -W -Wall

Note: On Solaris the CC environment variable must first be set to "CC" by using the command:

setenv CC CC
If you find Twister useful in your research, please consider citing it. A suggested reference is:
Mark Bell, Tracy Hall and Saul Schleimer. Twister (Computer Software). https://bitbucket.org/Mark_Bell/tlipper/, 2008�2014. Version 2.4.1.
or the BibTeX entry:
author = {Bell, Mark and Hall, Tracy and Schleimer, Saul}, title = {Twister (Computer Software)}, howpublished = {url{https://bitbucket.org/Mark_Bell/twister/}}, year = {2008--2014}, note = {Version 2.4.1}