I am looking for FOSS code that can generate self-avoiding random walk trajectories on a tetrahedral lattice. The purpose of the exercise is to create random conformations of model polymer chains that serve as input to a simulation protocol. It would be nice if the code satisfied the following criteria:
- Implemented in C++ or C, or maybe Fortran, source code is available under a reasonable FOSS licence;
- The code shall be reasonably portable (no reliance on e.g. GCC extensions);
- As input it should take the length of the walk (chain length) and the length of the lattice edge ("bond length") and return one (or more) arrays of 3D coordinates;
- Performance should be adequate up to about 1000 walk steps, I don't need very long trajectories/chains;
- It has been used with success by the person who recommends it :-)
I have done my Googling homework and found one piece of software on GitHub. However, it has not been touched since 5 years and cannot be compiled with a modern compiler (GCC 10) any more.
For all hints, pointers etc. I would be grateful. Thanks!
https://github.com/Roulattice/Roulattice
. The code is full of things likeint foo;
global declarations leading to multiple-declaration linking errors, uninitialised variables etc. These could probably be corrected but the software is complex enough that I didn't want to invest too much time in bringing it up to speed. $\endgroup$