public class MCMoveVolumeExchange
Elementary Monte Carlo trial that exchanges volume between two boxs. Trial
consists of a volume increase in one box (selected at random) and an equal
volume decrease in the other. Used in Gibbs ensemble simulations.
Method to perform trial move. Returns false if the trial could not be
attempted, for example if there were no molecules in the box and the
trial is designed to displace an atom; returns true otherwise.
Returns the change in the energy of the given box that results from the
trial move. Should be called only after lnProbabilityRatio(); returns
Double.NaN if invoked between calls to doTrial and lnProbabilityRatio.
Returns an iterator that yields the atoms that were affected by the trial
move the last time doTrial was invoked (regardless of whether the move
was accepted). This information usually is not needed, but it is
available in cases where required by objects that perform some activity
while the move is in progress, or need to update after the move is
completed. Such objects can receive notification of the move's completion
by registering with the IntegratorMC as MCMoveEventListeners. If the
move caused an atom to be removed from the box, it will not be returned
because that Atom is not considered an affected Atom.