This paper uses an advanced Monte Carlo sampling technique to compute the difference in stability of the two polytypes of ice 1 in a popular coarse-grained model of water.
The crystallisation of ice from water is an archetypal solidification problem which has been studied at the atomistic level with many methods and models. Many simulations using this particular model indicated that the structure of the ice formed is a stacking-disordered mixture of cubic and hexagonal ice. The interpretation of these prior simulations required knowledge of which is more stable (i.e. has a lower free energy). This is very difficult to calculate accurately and compare between models and experiment since it is a very small quantity. In this study it is calculated to high precision.
The code which performs the calculation is written in relatively modern pure Fortran 90. It should compile using any modern Fortran compiler. OpenMP is used for parallelism. Since publication an additional level of parallelism has been added using MPI which should not change any results. Other than MPI, there are no external library dependencies.
The results of this paper have been used in multiple subsequent studies as a benchmark against which other methods of performing the same calculation have been tested. Other groups have challenged the results as suffering from finite size effects, in particular the calculations on mixtures of cubic and hexagonal ice. Should there be time during in the event, participants could check this by performing calculations on larger unit cells.
Each individual calculation should converge adequately within 96 hours making it amenable to a HPC ReproHack. Given modern HPC hardware many such calculations could be run concurrently on a single HPC node.
As indicated above, there have been some changes to the code since publication. Parallelism has been added, and the calculation of the final free energy difference uses an improved integration algorithm. Not all of the results have been tested for robustness to these changes.
Reviewers may wish to check the current code against the version used in the publication (original GitHub import) for this.
I would also be interested on feedback regarding construction of suitable structure input files. This should be possible using standard software but no explicit information on this was given in the paper. Examples are included in the GitHub repository.