Detailed description |
|
A more realistic model of stochastic thermostatting in explicit solvent simulations is achieved by allowing only solvent particles to have their velocities randomized while running a simulation with AndersenThermostat. This technique is used, for example, by Peter Bolhuis in his transition interface sampling simulations of protein folding (e.g. [1]). Peter had to hack this support into gromacs, but we can allow it in OpenMM with a simple extension of the OpenMM API for AndersenThermostat.
I propose to add a method to AndersenThermostat:
AndersenThermostat::specifyRandomizationGroups(groups);
where groups is a vector<vector<int>>, a list of groups of atom indices. Each atom index should appear at most in one group. Atoms in a group would all have their velocities randomized together, with the probability of the group being selected for randomization on any given timestep being (collisionFreq * timestep / natoms_in_group). Atoms not appearing in any group would never have their atomic velocities randomized by this AndersenThermostat.
References:
[1] J. Juraszek and P. G. Bolhuis, Proc. Nat. Acad. Sci. USA 103, 15859 (2006).
|
|