SAWdoubler is a software package for counting the number of self-avoiding walks on a regular lattice, based on the length-doubling method described in: Exact enumeration of self-avoiding walks by Raoul D. Schram, Gerard T. Barkema, and Rob H. Bisseling Journal of Statistical Mechanics: Theory and Experiment (2011) p06019.
The aim of the package is to enable counting self-avoiding walks on a variety of lattices, and stimulate research into this topic. Please feel free to explore the possibilities of modifying this program. Have fun!
The package includes an example lattice, the 3D cubic lattice. All functions related to the lattice are included in one file (lattice.c) and all functions related to the counting procedure in another (sawdoubler.c). This way, it is easy to modify the lattice without touching the counting functions and data structures.
The length-doubling method has been published in Exact enumeration of self-avoiding walks by Raoul D. Schram, Gerard T. Barkema, and Rob H. Bisseling Journal of Statistical Mechanics: Theory and Experiment (2011) p06019.
The paper accompanying the SAWdoubler software, explaining the algorithm and its implementation, and also presenting timing experiments and discussing memory use is SAWdoubler: a program for counting self-avoiding walks by Raoul D. Schram, Gerard T. Barkema, and Rob H. Bisseling, Computer Physics Communications, 184 (2013) pp. 891-898.
This software is copyrighted (2012) by Raoul Schram, Rob Bisseling, Gerard Barkema. You can use and modify it under the GNU Lesser General Public License, see GNU Licenses. Also see the files, README, COPYING, COPYING.LESSER. Anything free, as usual, comes with no guarantee!