Class RosenbluthOBMC

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

public class RosenbluthOBMC extends Object implements MonteCarloListener
Orientational Biased Monte Carlo (as applied to chi0 torsion of peptide side-chains).

As described by Frenkel/Smit in "Understanding Molecular Simulation" Chapter 13.1.2. This uses the "orientational biasing" method to select chi[0] moves that are frequently accepted.

Author:
Stephen D. LuCore
  • Constructor Details

    • RosenbluthOBMC

      public RosenbluthOBMC(MolecularAssembly molecularAssembly, ForceFieldEnergy forceFieldEnergy, Thermostat thermostat, List<Residue> targets, int mcFrequency, int trialSetSize)
      RRMC constructor.
      Parameters:
      molecularAssembly - a MolecularAssembly object.
      forceFieldEnergy - 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.
    • RosenbluthOBMC

      public RosenbluthOBMC(MolecularAssembly molecularAssembly, ForceFieldEnergy forceFieldEnergy, Thermostat thermostat, List<Residue> targets, int mcFrequency, int trialSetSize, boolean writeSnapshots)
      Constructor for RosenbluthOBMC.
      Parameters:
      molecularAssembly - a MolecularAssembly object.
      forceFieldEnergy - a ForceFieldEnergy object.
      thermostat - a Thermostat object.
      targets - a List object.
      mcFrequency - a int.
      trialSetSize - a int.
      writeSnapshots - a boolean.
  • Method Details

    • 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.