Class PolarizeType

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

@FFXProperty(name="polarize", clazz=java.lang.String.class, propertyGroup=PotentialFunctionParameter, description="[1 integer, up to 3 reals and up to 8 integers]\nProvides the values for a single atomic dipole polarizability parameter.\nThe initial integer modifier, if positive, gives the atom type number for which a polarizability parameter is to be defined.\nIf the first integer modifier is negative, then the parameter value to follow applies only to the specific atom whose atom number is the negative of the modifier.\nThe first real number modifier gives the value of the dipole polarizability in Ang^3.\nThe second real number modifier, if present, gives the Thole damping value.\nA Thole value of zero implies undamped polarization.\nThe third real modifier, if present, gives a direct field damping value only used with the AMOEBA+ polarization model.\nThe remaining integer modifiers list the atom type numbers of atoms directly bonded to the current atom and which will be considered to be part of the current atom\u2019s polarization group.\nIf the parameter is for a specific atom, then the integers defining the polarization group are ignored.\n") public final class PolarizeType extends BaseType implements Comparator<String>
The PolarizeType class defines an isotropic atomic polarizability.

If this modifier is not present, then charge penetration values will be used for polarization damping, as in the HIPPO polarization model.

Since:
1.0
Author:
Michael J. Schnieders
  • Field Details

    • DEFAULT_DIRECT_11_SCALE

      public static final double DEFAULT_DIRECT_11_SCALE
      See Also:
    • DEFAULT_DIRECT_12_SCALE

      public static final double DEFAULT_DIRECT_12_SCALE
      See Also:
    • DEFAULT_DIRECT_13_SCALE

      public static final double DEFAULT_DIRECT_13_SCALE
      See Also:
    • DEFAULT_DIRECT_14_SCALE

      public static final double DEFAULT_DIRECT_14_SCALE
      See Also:
    • DEFAULT_POLAR_12_SCALE

      public static final double DEFAULT_POLAR_12_SCALE
      See Also:
    • DEFAULT_POLAR_13_SCALE

      public static final double DEFAULT_POLAR_13_SCALE
      See Also:
    • DEFAULT_POLAR_14_SCALE

      public static final double DEFAULT_POLAR_14_SCALE
      See Also:
    • DEFAULT_POLAR_15_SCALE

      public static final double DEFAULT_POLAR_15_SCALE
      See Also:
    • DEFAULT_POLAR_12_INTRA

      public static final double DEFAULT_POLAR_12_INTRA
      See Also:
    • DEFAULT_POLAR_13_INTRA

      public static final double DEFAULT_POLAR_13_INTRA
      See Also:
    • DEFAULT_POLAR_14_INTRA

      public static final double DEFAULT_POLAR_14_INTRA
      See Also:
    • DEFAULT_POLAR_15_INTRA

      public static final double DEFAULT_POLAR_15_INTRA
      See Also:
    • thole

      public final double thole
      Thole damping factor.
    • pdamp

      public double pdamp
      Value of polarizability scale factor.
    • ddp

      public final double ddp
      Direct polarization damping.
    • polarizability

      public final double polarizability
      Isotropic polarizability in units of Angstroms^3.
    • type

      public int type
      Atom type number.
    • polarizationGroup

      public int[] polarizationGroup
      Connected types in the polarization group of each atom (can be null).
  • Constructor Details

    • PolarizeType

      public PolarizeType(int atomType, double polarizability, double thole, double ddp, int[] polarizationGroup)
      PolarizeType Constructor.
      Parameters:
      atomType - The atom type.
      polarizability - The polarizability.
      thole - The Thole damping constant.
      polarizationGroup - The atom types in the polarization group.
    • PolarizeType

      public PolarizeType(PolarizeType polarizeType, double polarizability)
      Construct a PolarizeType from a reference type and updated polarizability.
      Parameters:
      polarizeType - The reference PolarizeType.
      polarizability - The updated polarizability.
  • Method Details

    • assignPolarizationGroups

      public static void assignPolarizationGroups(Atom[] atoms, int[][] ip11, int[][] ip12, int[][] ip13)
      assignPolarizationGroups.
      Parameters:
      atoms - an array of Atom objects.
      ip11 - an array of
      invalid reference
      int
      objects.
      ip12 - an array of
      invalid reference
      int
      objects.
      ip13 - an array of
      invalid reference
      int
      objects.
    • average

      public static PolarizeType average(PolarizeType polarizeType1, PolarizeType polarizeType2, int atomType, int[] polarizationGroup)
      Average two PolarizeType instances. The atom types to include in the new polarizationGroup must be supplied.
      Parameters:
      polarizeType1 - The first PolarizeType.
      polarizeType2 - The second PolarizeType.
      atomType - The atom type to use for the new PolarizeType.
      polarizationGroup - The atom types to include in the new polarizationGroup.
      Returns:
      The averaged PolarizeType.
    • parse

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

      public static void growGroup(List<Integer> group, Atom seed)
      A recursive method that checks all atoms bonded to the seed atom for inclusion in the polarization group. The method is called on each newly found group member.
      Parameters:
      group - XYZ indices of current group members.
      seed - The bonds of the seed atom are queried for inclusion in the group.
    • add

      public void add(int atomType)
      Add an atom type to the polarization group.
      Parameters:
      atomType - The atom type to add.
    • 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
    • toString

      public String toString()

      Basic toString method.

      Nicely formatted polarization type.

      Overrides:
      toString in class BaseType
    • addXMLAttributes

      public static void addXMLAttributes(Element node, ForceField forceField)
      Add constant attributes to the AmoebaMultipoleForce
      Parameters:
      node - the AmoebaMultipoleForce element.
      forceField - the ForceField for collecting constants.
    • toXML

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