Class OutOfPlaneBendType

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

@FFXProperty(name="opbend", clazz=java.lang.String.class, propertyGroup=PotentialFunctionParameter, description="[4 integers and 1 real]\nProvides the values for a single out-of-plane bending potential parameter.\nThe first integer modifier is the atom class of the out-of-plane atom and the second integer is the atom class of the central trigonal atom.\nThe third and fourth integers give the atom classes of the two remaining atoms attached to the trigonal atom.\nValues of zero for the third and fourth integers are treated as wildcards, and can represent any atom type.\nThe real number modifier gives the force constant value for the out-of-plane angle.\nThe default units for the force constant are kcal/mole/radian^2, but this can be controlled via the opbendunit keyword.\n") public final class OutOfPlaneBendType extends BaseType implements Comparator<String>
The OutOfPlaneBendType class defines one Allinger style out-of-plane angle bending energy type.
Since:
1.0
Author:
Michael J. Schnieders
  • Field Details

    • DEFAULT_OPBEND_CUBIC

      public static final double DEFAULT_OPBEND_CUBIC
      Default cubic coefficient in out-of-plane angle bending potential.
      See Also:
    • DEFAULT_OPBEND_QUARTIC

      public static final double DEFAULT_OPBEND_QUARTIC
      Default quartic coefficient in out-of-plane angle bending potential.
      See Also:
    • DEFAULT_OPBEND_PENTIC

      public static final double DEFAULT_OPBEND_PENTIC
      Default pentic coefficient in out-of-plane angle bending potential.
      See Also:
    • DEFAULT_OPBEND_SEXTIC

      public static final double DEFAULT_OPBEND_SEXTIC
      Default quintic coefficient in out-of-plane angle bending potential.
      See Also:
    • cubic

      @FFXProperty(name="opbend-cubic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the cubic term in the Taylor series expansion form of the out-of-plane bending potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThis term multiplied by the out-of-plane bending energy unit conversion factor, the force constant,\nand the cube of the deviation of the out-of-plane angle from zero gives the cubic contribution to the out-of-plane bending energy.\nThe default value in the absence of the opbend-cubic keyword is zero; i.e., the cubic out-of-plane bending term is omitted.\n") public double cubic
      Cubic coefficient in out-of-plane angle bending potential.
    • quartic

      @FFXProperty(name="opbend-quartic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the quartic term in the Taylor series expansion form of the out-of-plane bending potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThis term multiplied by the out-of-plane bending energy unit conversion factor, the force constant,\nand the forth power of the deviation of the out-of-plane angle from zero gives the quartic contribution to the out-of-plane bending energy.\nThe default value in the absence of the opbend-quartic keyword is zero; i.e., the quartic out-of-plane bending term is omitted.\n") public double quartic
      Quartic coefficient in out-of-plane angle bending potential.
    • pentic

      @FFXProperty(name="opbend-pentic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the fifth power term in the Taylor series expansion form of the out-of-plane bending potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThis term multiplied by the out-of-plane bending energy unit conversion factor, the force constant,\nand the fifth power of the deviation of the out-of-plane angle from zero gives the pentic contribution to the out-of-plane bending energy.\nThe default value in the absence of the opbend-pentic keyword is zero; i.e., the pentic out-of-plane bending term is omitted.\n") public double pentic
      Quintic coefficient in out-of-plane angle bending potential.
    • sextic

      @FFXProperty(name="opbend-sextic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the sixth power term in the Taylor series expansion form of the out-of-plane bending potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThis term multiplied by the out-of-plane bending energy unit conversion factor, the force constant,\nand the sixth power of the deviation of the out-of-plane angle from zero gives the sextic contribution to the out-of-plane bending energy.\nThe default value in the absence of the opbend-sextic keyword is zero; i.e., the sextic out-of-plane bending term is omitted.\n") public double sextic
      Sextic coefficient in out-of-plane angle bending potential.
    • opBendUnit

      @FFXProperty(name="opbendunit", propertyGroup=EnergyUnitConversion, defaultValue="(Pi/180)^2", description="Sets the scale factor needed to convert the energy value computed by the out-of-plane bending 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 opBendUnit
      Convert Out-of-Plane bending energy to kcal/mole.

      TINKER v.5 and v.6 Units: 1.0 / (180.0/PI)^2 = 0.00030461741979

      TINKER v.4 Units: 0.02191418

      Ratio of v.4 to v.5/6 = 0.02191418 / 1.0 / (180.0/PI)^2 = 71.94

    • DEFAULT_OPBEND_UNIT

      public static final double DEFAULT_OPBEND_UNIT
    • atomClasses

      public final int[] atomClasses
      Atom classes for this out-of-plane angle bending type.
    • forceConstant

      public final double forceConstant
      Force constant (Kcal/mol/Angstrom).
  • Constructor Details

    • OutOfPlaneBendType

      public OutOfPlaneBendType(int[] atomClasses, double forceConstant)
      OutOfPlaneBendType Constructor.
      Parameters:
      atomClasses - int[]
      forceConstant - double
  • Method Details

    • average

      public static OutOfPlaneBendType average(OutOfPlaneBendType outOfPlaneBendType1, OutOfPlaneBendType outOfPlaneBendType2, int[] atomClasses)
      Average two OutOfPlaneBendType instances. The atom classes that define the new type must be supplied.
      Parameters:
      outOfPlaneBendType1 - a OutOfPlaneBendType object.
      outOfPlaneBendType2 - a OutOfPlaneBendType object.
      atomClasses - an array of
      invalid reference
      int
      objects.
      Returns:
      a OutOfPlaneBendType object.
    • parse

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

      public static String sortKey(int[] c)
      This method sorts the atom classes for the out-of-plane angle bending type.
      Parameters:
      c - atomClasses
      Returns:
      lookup key
    • compare

      public int compare(String s1, String s2)
      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)
      incrementClasses
      Parameters:
      increment - The increment to apply to the atom classes.
    • patchClasses

      public OutOfPlaneBendType 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.
      Returns:
      a OutOfPlaneBendType object.
    • toString

      public String toString()

      Basic toString method.

      Nicely formatted out-of-plane angle bending string.

      Overrides:
      toString in class BaseType
    • getXMLForce

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

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