Class PiOrbitalTorsionType

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

@FFXProperty(name="pitors", clazz=java.lang.String.class, propertyGroup=PotentialFunctionParameter, description="[2 integers and 1 real]\nProvides the values for a single pi-orbital torsional angle potential parameter.\nThe two integer modifiers give the atom class numbers for the atoms involved in the central bond of the torsional angle to be parameterized.\nThe real modifier gives the value of the 2-fold Fourier amplitude for the torsional angle between p-orbitals centered on the defined bond atom classes.\nThe default units for the stretch-torsion force constant can be controlled via the pitorsunit keyword.\n") public final class PiOrbitalTorsionType extends BaseType implements Comparator<String>
The PiOrbitalTorsionType class defines a Pi-Orbital Torsion energy term.
Since:
1.0
Author:
Michael J. Schnieders
  • Field Details

    • DEFAULT_PITORS_UNIT

      public static final double DEFAULT_PITORS_UNIT
      See Also:
    • piTorsUnit

      @FFXProperty(name="pitorsunit", propertyGroup=EnergyUnitConversion, defaultValue="1.0", description="Sets the scale factor needed to convert the energy value computed by the pi-orbital torsional angle 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 piTorsUnit
      Convert Pi-Torsion energy to kcal/mole.
    • atomClasses

      public final int[] atomClasses
      Atom classes that form this Pi-Torsion.
    • forceConstant

      public double forceConstant
      Force constant.
  • Constructor Details

    • PiOrbitalTorsionType

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

    • average

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

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

      public static String sortKey(int[] c)
      This method sorts the atom classes as: min, max
      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 add to the atom classes.
    • patchClasses

      public PiOrbitalTorsionType 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 PiOrbitalTorsionType object.
    • toString

      public String toString()

      Basic toString method.

      Nicely formatted Pi-Torsion type.

      Overrides:
      toString in class BaseType
    • getXMLElement

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

      public Element toXML(Document doc)
      Write PiOrbitalTorsionType to OpenMM XML format.
      Parameters:
      doc - the Document instance.
      Returns:
      the PiTorsion Element.