Class Stochastic

java.lang.Object
ffx.algorithms.dynamics.integrators.Integrator
ffx.algorithms.dynamics.integrators.Stochastic

public class Stochastic extends Integrator
Stochastic dynamics time step via a velocity Verlet integration algorithm.

M. P. Allen, "Brownian Dynamics Simulation of a Chemical Reaction in Solution", Molecular Physics, 40, 1073-1087 (1980)

F. Guarnieri and W. C. Still, "A Rapidly Convergent Simulation Method: Mixed Monte Carlo/Stochastic Dynamics", Journal of Computational Chemistry, 15, 1302-1310 (1994)

Since:
1.0
Author:
Michael J. Schnieders
  • Constructor Details

    • Stochastic

      public Stochastic(double friction, SystemState state)
      Constructor for Stochastic Dynamics.
      Parameters:
      friction - Friction coefficient.
      state - The MDState to operate on.
  • Method Details

    • postForce

      public void postForce(double[] gradient)
      Integrator post-force evaluation operation.

      Use Newton's second law to get the next acceleration and find the full-step velocities using the Verlet recursion.

      Specified by:
      postForce in class Integrator
      Parameters:
      gradient - the gradient for the post-force operation.
    • preForce

      public void preForce(Potential potential) throws RuntimeException
      Integrator pre-force evaluation operation.

      Set the frictional and random coefficients, store the current atom positions, then find new atom positions and half-step velocities via Verlet recursion.

      Specified by:
      preForce in class Integrator
      Parameters:
      potential - the Potential this integrator operates on.
      Throws:
      RuntimeException
    • setRandomSeed

      public void setRandomSeed(long seed)
      Initialize the Random number generator used to apply random forces to the particles.
      Parameters:
      seed - Random number generator seed.
    • setTemperature

      public void setTemperature(double temperature)
      Setter for the field temperature.
      Parameters:
      temperature - a double.
    • setTimeStep

      public void setTimeStep(double dt)
      Set the time step.

      Set the stochastic dynamics time-step.

      Specified by:
      setTimeStep in class Integrator
      Parameters:
      dt - the time step (psec).
    • toString

      public String toString()
      Overrides:
      toString in class Object