283634 Simple Tests for Whether Simulation Data Is Consistent with the Desired Thermodynamic Ensemble

Wednesday, October 31, 2012: 2:10 PM
415 (Convention Center )
Michael R. Shirts, Chemical Engineering, University of Virginia, Charlottesville, VA

It is often difficult to quantitatively determine if a new algorithm or new software suite properly implements sampling of the targeted thermodynamic ensemble. It is very easy to make subtle errors in both the theoretical development and the computer implementation of simulation algorithms. Such errors can occur because of numerical errors in the underlying energy functions, theoretical mistakes in the proposed algorithm, approximations that are too extreme, and programming bugs that are inevitable when managing ever more complicated code bases.

We present some simple automated statistical analysis procedures to allow sensitive determination of proper sampling according to a desired thermodynamic ensemble, requiring pairs of simulations carried out with slightly different applied intensive variables. These methods are applicable to both molecular dynamics and Monte Carlo simulations.  We demonstrate their utility for model systems and molecular dynamics simulations in a range of situations, including canonical, isothermal-isobaric, grand canonical, and alchemical ensembles, and give examples where these tools have aided our own software development. These methods can be used to validate the full distribution of both single variables (such as the energy in an NVT simulation) or the joint distribution of multiple extensive variables (such as the energy and volume in an NPT simulation). We also present a simple, downloadable Python implementation of these tests intended for general use, requiring only standard simulation output such as energy, volume, and number of particles.

Incorporating these methods into molecular simulation analysis pipelines could help in quickly identifying bad or misleading simulation output produced by inexperienced users or simple overlooked mistakes. Incorporation of these tests into software development pipelines would significantly help validation of novel simulation algorithms and help avoid subtle software errors.


Extended Abstract: File Not Uploaded