Class UreyBradleyType

java.lang.Object
ffx.potential.parameters.BaseType
ffx.potential.parameters.UreyBradleyType
All Implemented Interfaces:
Comparator<String>

@FFXProperty(name="ureybrad", clazz=java.lang.String.class, propertyGroup=PotentialFunctionParameter, description="[3 integers and 2 reals]\nProvides the values for a single Urey-Bradley cross term potential parameter.\nThe integer modifiers give the atom class numbers for the three kinds of atoms\ninvolved in the angle for which a Urey-Bradley term is to be defined.\nThe real number modifiers give the force constant value for the term and the target value for the 1-3 distance in Angstroms.\nThe default units for the force constant are kcal/mole/Ang^2, but this can be controlled via the ureyunit keyword\n") public final class UreyBradleyType extends BaseType implements Comparator<String>
The UreyBradleyType class defines one harmonic UreyBradley cross term.
Since:
1.0
Author:
Michael J. Schnieders
  • Field Details

    • DEFAULT_UREY_UNIT

      public static final double DEFAULT_UREY_UNIT
      Default conversion Urey-Bradley stretch energy to kcal/mole.
      See Also:
    • DEFAULT_UREY_CUBIC

      public static final double DEFAULT_UREY_CUBIC
      Default cubic coefficient in Urey-Bradley stretch potential.
      See Also:
    • DEFAULT_UREY_QUARTIC

      public static final double DEFAULT_UREY_QUARTIC
      Default quartic coefficient in Urey-Bradley stretch potential.
      See Also:
    • ureyUnit

      @FFXProperty(name="ureyunit", propertyGroup=EnergyUnitConversion, defaultValue="1.0", description="Sets the scale factor needed to convert the energy value computed by the Urey-Bradley potential into units of kcal/mole.\nThe correct value is force field dependent and typically provided in the header of the master force field parameter file.\n") public double ureyUnit
      Convert Urey-Bradley stretch energy to kcal/mole.
    • cubic

      @FFXProperty(name="urey-cubic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the cubic term in the Taylor series expansion form of the Urey-Bradley potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThe default value in the absence of the urey-cubic keyword is zero; i.e., the cubic Urey-Bradley term is omitted.\n") public double cubic
      Cubic coefficient in bond stretch potential.
    • quartic

      @FFXProperty(name="urey-quartic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the quartic term in the Taylor series expansion form of the Urey-Bradley potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThe default value in the absence of the urey-quartic keyword is zero; i.e., the quartic Urey-Bradley term is omitted.\n") public double quartic
      Quartic coefficient in bond stretch potential.
    • atomClasses

      public final int[] atomClasses
      Atom classes that form this Urey-Bradley cross term.
    • forceConstant

      public final double forceConstant
      Force constant (Kcal/mole/angstroms^2).
    • distance

      public final double distance
      Equilibrium 1-3 separation (Angstroms).
  • Constructor Details

    • UreyBradleyType

      public UreyBradleyType(int[] atomClasses, double forceConstant, double distance)
      UreyBradleyType constructor.
      Parameters:
      atomClasses - Atom classes.
      forceConstant - Force constant (Kcal/mole/angstroms^2).
      distance - Equilibrium 1-3 separation (Angstroms).
  • Method Details

    • average

      public static UreyBradleyType average(UreyBradleyType ureyBradleyType1, UreyBradleyType ureyBradleyType2, int[] atomClasses)
      average.
      Parameters:
      ureyBradleyType1 - a UreyBradleyType object.
      ureyBradleyType2 - a UreyBradleyType object.
      atomClasses - an array of
      invalid reference
      int
      objects.
      Returns:
      a UreyBradleyType object.
    • parse

      public static UreyBradleyType parse(String input, String[] tokens)
      Construct a UreyBradleyType from an input string.
      Parameters:
      input - The overall input String.
      tokens - The input String tokenized.
      Returns:
      a UreyBradleyType instance.
    • sortKey

      public static String sortKey(int[] c)
      This method sorts the atom classes as: min, c[1], max
      Parameters:
      c - atomClasses
      Returns:
      lookup key
    • compare

      public int compare(String key1, String key2)
      Specified by:
      compare in interface Comparator<String>
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Comparator<String>
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • incrementClasses

      public void incrementClasses(int increment)
      Increment the atom classes by a specified amount.
      Parameters:
      increment - The increment to apply to the atom classes.
    • patchClasses

      public void patchClasses(HashMap<AtomType,AtomType> typeMap)
      Remap new atom classes to known internal ones.
      Parameters:
      typeMap - a lookup between new atom types and known atom types.
    • toString

      public String toString()

      Basic toString method.

      Nicely formatted Urey-Bradley string.

      Overrides:
      toString in class BaseType
    • getXMLForce

      public static Element getXMLForce(Document doc, ForceField forceField)
      Create an AmoebaUreyBradleyForce element.
      Parameters:
      doc - the Document instance.
      forceField - the ForceField to grab constants from.
      Returns:
      the AmoebaUreyBradleyForce element.
    • toXML

      public Element toXML(Document doc)
      Write UreyBradleyType to OpenMM XML format.