SimTk/openmm — pull request #612 by swails (2014-09-11 13:49:53+00:00)
Title: [WIP] Add semi-isotropic move sets to MonteCarloAnisotropicBarostat

@peastman and I have been talking to some people regarding OpenMM and lipid bilayer simulations. In some cases, it's desirable to have anisotropic moves that couple the scaling of two axes together (e.g., X- and Y- dimensions) to prevent the barostat from "squishing" the box (i.e., shortening one dimension while elongating another). I've seen this called "semi-isotropic" scaling elsewhere.

Since the `MonteCarloAnisotropicBarostat` already specifies options to prevent scaling particular axes -- which is close to what is needed here -- I thought it would be best to make semi-isotropic scaling an option to `MonteCarloAnisotropicBarostat` rather than create a new barostat class (e.g., `MonteCarloSemiIsotropicBarostat`). This PR represents a draft implementation of that idea.

It currently works in that the existing MCAB tests continue to pass. This PR would need an appropriate test case added to test coupling various axis scalings, but I don't want to put any more work into this unless I know it will be merged.

Thoughts, opinions, and code reviews all welcome.