java.lang.Object
ffx.algorithms.dynamics.thermostats.Thermostat
ffx.algorithms.dynamics.thermostats.Bussi

public class Bussi extends Thermostat
Thermostat a molecular dynamics trajectory to an external bath using the Bussi, Donadio, and Parrinello method. This method is similar to Berendsen thermostat, but generates a canonical distribution.
Since:
1.0
Author:
Michael J. Schnieders
See Also:
  • Constructor Details

    • Bussi

      public Bussi(SystemState state, Potential.VARIABLE_TYPE[] type, double targetTemperature, double tau)
      Constructor for Bussi.
      Parameters:
      state - The MDState to operate on.
      type - the VARIABLE_TYPE of each variable.
      targetTemperature - The target temperature.
      tau - Bussi thermostat time constant (psec).
    • Bussi

      public Bussi(SystemState state, Potential.VARIABLE_TYPE[] type, double targetTemperature, double tau, List<Constraint> constraints)
    • Bussi

      public Bussi(SystemState state, Potential.VARIABLE_TYPE[] type, double targetTemperature)
      Constructor for Bussi.
      Parameters:
      state - The MDState to operate on.
      type - the VARIABLE_TYPE of each variable.
      targetTemperature - a double.
  • Method Details

    • fullStep

      public void fullStep(double dt)
      The full-step temperature correction.

      Full step velocity modification.

      Specified by:
      fullStep in class Thermostat
      Parameters:
      dt - a double.
    • getTau

      public double getTau()
      Getter for the field tau.
      Returns:
      a double.
    • setTau

      public void setTau(double tau)
      Setter for the field tau.
      Parameters:
      tau - a double.
    • halfStep

      public void halfStep(double dt)
      The half-step temperature correction.

      No velocity modifications are made by the Bussi method at the half-step.

      Specified by:
      halfStep in class Thermostat
      Parameters:
      dt - a double.
    • setRandomSeed

      public void setRandomSeed(long seed)
      The setRandomSeed method is used to initialize the Random number generator to the same starting state, such that separate runs produce the same Maxwell-Boltzmann initial velocities. same

      Initialize the Random number generator used to apply random forces to the particles.

      Overrides:
      setRandomSeed in class Thermostat
      Parameters:
      seed - The seed.
    • toThermostatString

      public String toThermostatString()
      Add Thermostat details to the kinetic energy and temperature details.
      Returns:
      Description of the thermostat, kinetic energy and temperature.
    • toString

      public String toString()
      Overrides:
      toString in class Thermostat