Interface AlgorithmFunctions

All Superinterfaces:
PotentialsFunctions
All Known Implementing Classes:
AlgorithmUtils, UIUtils

public interface AlgorithmFunctions extends PotentialsFunctions
AlgorithmFunctions, on top of the core functionality of PotentialsFunctions, describes additional functionality such as molecular dynamics and L-BFGS local optimization.

This is implemented in two locations: UIUtils in the User Interfaces package, and in AlgorithmsUtils in the Algorithm package.

The UIUtils implementation is the default for Force Field X; on top of the core functionality, it also updates the FFX graphical user interface and tree structure.

The AlgorithmUtils implementation lacks the extra functionality of the UIUtils implementation, and simply accomplishes the required task. This is used by our tests, and is also potentially useful for third parties who would like to use FFX without its GUI.

Author:
Jacob M. Litman, Michael J. Schnieders
  • Method Details

    • getDefaultListener

      default AlgorithmListener getDefaultListener()
      Returns a default Listener if available (null by default).
      Returns:
      An AlgorithmListener or null.
    • md

      void md(MolecularAssembly assembly, int nStep, double timeStep, double printInterval, double saveInterval, double temperature, boolean initVelocities, File dyn)
      Runs molecular dynamics on an assembly.
      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

      Potential minimize(MolecularAssembly assembly, double eps)
      Relax the coordinates of a MolecularAssembly and minimize its potential energy
      Parameters:
      assembly - a MolecularAssembly object.
      eps - RMS gradient convergence criteria
      Returns:
      A Potential