Class AlgorithmUtils

All Implemented Interfaces:
AlgorithmFunctions, PotentialsFunctions
Direct Known Subclasses:
UIUtils

public class AlgorithmUtils extends PotentialsUtils implements AlgorithmFunctions
AlgorithmUtils, on top of the core functionality of PotentialsUtils, implements additional functionality such as molecular dynamics and L-BFGS local optimization. This implementation does not do anything on top of what is specified by the interface, and is used primarily by tests. It is also potentially useful for third parties who would like to use FFX without its graphical user interface.
Author:
Jacob M. Litman, Michael J. Schnieders
  • Constructor Details

    • AlgorithmUtils

      public AlgorithmUtils()
      Constructor for AlgorithmUtils.
  • Method Details

    • md

      public void md(MolecularAssembly assembly, int nStep, double timeStep, double printInterval, double saveInterval, double temperature, boolean initVelocities, File dyn)
      Runs molecular dynamics on an assembly.

      Performs molecular dynamics on a MolecularAssembly.

      Specified by:
      md in interface AlgorithmFunctions
      Parameters:
      assembly - a MolecularAssembly object.
      nStep - Timesteps
      timeStep - Time per step
      printInterval - a double.
      saveInterval - a double.
      temperature - a double.
      initVelocities - Initialize velocities from Maxwell-Boltzmann distribution
      dyn - Dynamics file
    • minimize

      public Potential minimize(MolecularAssembly assembly, double eps)
      Relax the coordinates of a MolecularAssembly and minimize its potential energy

      Minimizes a MolecularAssembly using AMOEBA potential energy.

      Specified by:
      minimize in interface AlgorithmFunctions
      Parameters:
      assembly - a MolecularAssembly object.
      eps - RMS gradient convergence criteria
      Returns:
      A Potential
    • time

      public double time()
      Logs time elapsed since last call.

      Logs time since this interface was created and the last time this method was called.

      Logs time since this interface was created and the last time this method was called. May be more elegant to replace this by using protected variables and simply inheriting the time() function.

      Specified by:
      time in interface PotentialsFunctions
      Overrides:
      time in class PotentialsUtils
      Returns:
      Time.