Compute heat transfer and work with stochastic rescaling 93/4693/3 release-2-13-beta-2
authorradakb <brian.radak@gmail.com>
Tue, 16 Oct 2018 15:17:08 +0000 (11:17 -0400)
committerJim Phillips <jim@ks.uiuc.edu>
Tue, 16 Oct 2018 16:32:45 +0000 (11:32 -0500)
commitf76fbc4d839d655e9c9c9d538eaf1c231d2d3b28
tree1b2937078a9a807ade17b3f07cec71bc5033fb0f
parent7f20fee892b58575259d58904bdbf453f0f85a5b
Compute heat transfer and work with stochastic rescaling

The stochRescale thermostat is now extended to enable computation
of heat transfer and work. The added overhead is incredibly small,
but for now reporting (to stdout and Tcl callback) only occurs with
the new stochRescaleHeat keyword. Other thermostats may also be able
to accomodate this computation, so the generic HEAT and WORK fields
have been added.

Both computations are _cumulative_ wrt firstTimestep, so resetting
from Tcl causes the accumulation to start over. Note that this also
requires tracking the TOTAL energy change between the current step
and firstTimestep.

For true equilibrium simulations, the cumulative work should be
rigorously zero. In practice one instead gets a small number that is
polynomial in the timestep (roughly quartic?).

For neMD/MC simulations this should be an appropriate route to
computing work for a Metropolis criterion. While this approach
mixes protocol and shadow components, test comparisons with direct
computation of the protocol component (CUMALCHWORK) show no obvious
differences within statistical precision. There are minor debates
about asymmetric (used by NAMD) versus symmetric integrator
splittings, so this assertion rests on its empirical validity.

Change-Id: Iddbf54ccd6edb78594705d287681ba4159b4a2e1
src/Controller.C
src/Controller.h
src/SimParameters.C
src/SimParameters.h