Class RosenbluthCBMC

java.lang.Object
ffx.algorithms.mc.RosenbluthCBMC
All Implemented Interfaces:
MonteCarloListener

public class RosenbluthCBMC extends Object implements MonteCarloListener
Conformational Biased Monte Carlo (applied to ALL torsions of a peptide side-chain).

This method is described by Frenkel/Smit in "Understanding Molecular Simulation" Chapters 13.2,13.3 This uses the "conformational biasing" method to select whole rotamer transformations that are frequently accepted.

Author:
Stephen D. LuCore
  • Constructor Details

    • RosenbluthCBMC

      public RosenbluthCBMC(MolecularAssembly molecularAssembly, ForceFieldEnergy ffe, Thermostat thermostat, List<Residue> targets, int mcFrequency, int trialSetSize, boolean writeSnapshots)
      RRMC constructor.
      Parameters:
      molecularAssembly - a MolecularAssembly object.
      ffe - a ForceFieldEnergy object.
      thermostat - a Thermostat object.
      targets - Residues to undergo RRMC.
      mcFrequency - Number of MD steps between RRMC proposals.
      trialSetSize - Larger values cost more but increase acceptance.
      writeSnapshots - a boolean.
  • Method Details

    • cbmcStep

      public boolean cbmcStep()
      cbmcStep.
      Returns:
      a boolean.
    • controlStep

      public boolean controlStep()
      controlStep.
      Returns:
      a boolean.
    • mcUpdate

      public boolean mcUpdate(double temperature)
      After a successful step or interval of an algorithm, this method of the listener will be called.

      Temperature argument is necessary since Potentials package cannot import Thermostat/MD.

      Specified by:
      mcUpdate in interface MonteCarloListener
      Parameters:
      temperature - The Metropolis Monte Carlo temperature.
      Returns:
      A return of true indicates the algorithm continues.