Package ffx.potential.parameters
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 Summary
Modifier and TypeFieldDescriptionfinal double
Direct polarization damping.static final double
static final double
static final double
static final double
static final double
static final double
static final double
static final double
static final double
static final double
static final double
static final double
double
Value of polarizability scale factor.final double
Isotropic polarizability in units of Angstroms^3.int[]
Connected types in the polarization group of each atom (can be null).final double
Thole damping factor.int
Atom type number. -
Constructor Summary
ConstructorDescriptionPolarizeType
(int atomType, double polarizability, double thole, double ddp, int[] polarizationGroup) PolarizeType Constructor.PolarizeType
(PolarizeType polarizeType, double polarizability) Construct a PolarizeType from a reference type and updated polarizability. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int atomType) Add an atom type to the polarization group.static void
addXMLAttributes
(Element node, ForceField forceField) Add constant attributes to the AmoebaMultipoleForcestatic void
assignPolarizationGroups
(Atom[] atoms, int[][] ip11, int[][] ip12, int[][] ip13) assignPolarizationGroups.static PolarizeType
average
(PolarizeType polarizeType1, PolarizeType polarizeType2, int atomType, int[] polarizationGroup) Average two PolarizeType instances.int
boolean
static void
A recursive method that checks all atoms bonded to the seed atom for inclusion in the polarization group.int
hashCode()
static PolarizeType
Construct a PolarizeType from an input string.toString()
Write PolarizeType to OpenMM XML format.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
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 tholeThole damping factor. -
pdamp
public double pdampValue of polarizability scale factor. -
ddp
public final double ddpDirect polarization damping. -
polarizability
public final double polarizabilityIsotropic polarizability in units of Angstroms^3. -
type
public int typeAtom type number. -
polarizationGroup
public int[] polarizationGroupConnected 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
Construct a PolarizeType from a reference type and updated polarizability.- Parameters:
polarizeType
- The reference PolarizeType.polarizability
- The updated polarizability.
-
-
Method Details
-
assignPolarizationGroups
assignPolarizationGroups.- Parameters:
atoms
- an array ofAtom
objects.ip11
- an array ofinvalid reference
int
ip12
- an array ofinvalid reference
int
ip13
- an array ofinvalid reference
int
-
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
Construct a PolarizeType from an input string.- Parameters:
input
- The overall input String.tokens
- The input String tokenized.- Returns:
- a PolarizeType instance.
-
growGroup
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
- Specified by:
compare
in interfaceComparator<String>
-
equals
- Specified by:
equals
in interfaceComparator<String>
- Overrides:
equals
in classObject
-
hashCode
public int hashCode() -
toString
Basic toString method.
Nicely formatted polarization type.
-
addXMLAttributes
Add constant attributes to the AmoebaMultipoleForce- Parameters:
node
- the AmoebaMultipoleForce element.forceField
- the ForceField for collecting constants.
-
toXML
Write PolarizeType to OpenMM XML format.
-