Class RosenbluthChiAllMove

java.lang.Object
ffx.algorithms.mc.RosenbluthChiAllMove
All Implemented Interfaces:
MCMove

public class RosenbluthChiAllMove extends Object implements MCMove
Represents a Boltzmann-drawn spin of all residue torsions for use with RosenbluthCBMC (Configurational-Bias Monte Carlo).

Biases each torsion by drawing a test set from a Boltzmann distribution on torsion energy. Selects from amongst each test set on Boltzmann weight of remaining energy.

Calculates Rosenbluth factors along the way; acceptance criterion = Wn/Wo.

Note: Contains much of the infrastructure necessary to generalize toward full polymer-construction-type CBMC (i.e. changing angles and bonds as well). This implementation leaves bonds/angles fixed and considers only torsion energy as dependent (Ubond in Frenkel/Smit 13.2).

Author:
Stephen D. LuCore
  • Method Details

    • getMode

      public RosenbluthChiAllMove.MODE getMode()
      Getter for the field mode.
      Returns:
      a RosenbluthChiAllMove.MODE object.
    • getWn

      public double getWn()
      getWn.
      Returns:
      a double.
    • move

      public void move()
      Performs the move associated with this MCMove.

      Performs the move associated with this MCMove. Also updates chi values in associated Torsion objects.

      Specified by:
      move in interface MCMove
    • revertMove

      public void revertMove()
      Reverts the last applied move() call. Returns the same energy change as described above (with the same sign).

      Reverts the last applied move() call.

      Specified by:
      revertMove in interface MCMove
    • toString

      public String toString()
      Overrides:
      toString in class Object