Package ffx.numerics

Interface Potential

All Superinterfaces:
OptimizationInterface
All Known Subinterfaces:
CrystalPotential
All Known Implementing Classes:
ANIEnergy, Barostat, DualTopologyEnergy, ExtendedSystem, ForceFieldEnergy, OpenMMEnergy, OrthogonalSpaceTempering, QuadTopologyEnergy, RealSpaceEnergy, RefinementEnergy, XRayEnergy, XtalEnergy

public interface Potential extends OptimizationInterface
The Potential interface defines methods required by an optimizer or molecular dynamics.
Since:
1.0
Author:
Michael J. Schnieders
  • Method Details

    • getAcceleration

      double[] getAcceleration(double[] acceleration)
      getAcceleration.
      Parameters:
      acceleration - an array of
      invalid reference
      double
      objects.
      Returns:
      an array of
      invalid reference
      double
      objects.
    • getConstraints

      default List<Constraint> getConstraints()
      Returns the list of Constraints associated with this Potential. The default implementation returns an empty list.
      Returns:
      All Constraints.
    • getEnergyTermState

      Potential.STATE getEnergyTermState()
      Get the Potential Energy terms that is active.
      Returns:
      the STATE
    • setEnergyTermState

      void setEnergyTermState(Potential.STATE state)
      Set the Potential Energy terms that should be active.
      Parameters:
      state - include FAST varying energy terms, SLOW varying energy terms or BOTH.
    • getMass

      double[] getMass()
      Get the mass of each degree of freedom. This is required for molecular dynamics.
      Returns:
      The mass of each degree of freedom.
    • getPreviousAcceleration

      double[] getPreviousAcceleration(double[] previousAcceleration)
      getPreviousAcceleration.
      Parameters:
      previousAcceleration - an array of
      invalid reference
      double
      objects.
      Returns:
      an array of
      invalid reference
      double
      objects.
    • getVariableTypes

      Potential.VARIABLE_TYPE[] getVariableTypes()
      Get the type of all variables.
      Returns:
      The VARIABLE_TYPE of each variable.
    • getVelocity

      double[] getVelocity(double[] velocity)
      getVelocity.
      Parameters:
      velocity - an array of
      invalid reference
      double
      objects.
      Returns:
      an array of
      invalid reference
      double
      objects.
    • setAcceleration

      void setAcceleration(double[] acceleration)
      setAcceleration.
      Parameters:
      acceleration - an array of
      invalid reference
      double
      objects.
    • setPreviousAcceleration

      void setPreviousAcceleration(double[] previousAcceleration)
      setPreviousAcceleration.
      Parameters:
      previousAcceleration - an array of
      invalid reference
      double
      objects.
    • setVelocity

      void setVelocity(double[] velocity)
      setVelocity.
      Parameters:
      velocity - an array of
      invalid reference
      double
      objects.
    • writeAdditionalRestartInfo

      default void writeAdditionalRestartInfo(boolean recursive)
      Writes additional restart information, if any (e.g. OST histogram and lambda restart files). The recursive flag should generally only be true for the top-level Potential called.
      Parameters:
      recursive - Whether to have all underlying Potentials write additional restart info.