Package ffx.potential.parameters
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 Summary
Modifier and TypeFieldDescriptionfinal int[]
Atom classes for this out-of-plane angle bending type.double
Cubic coefficient in out-of-plane angle bending potential.static final double
Default cubic coefficient in out-of-plane angle bending potential.static final double
Default pentic coefficient in out-of-plane angle bending potential.static final double
Default quartic coefficient in out-of-plane angle bending potential.static final double
Default quintic coefficient in out-of-plane angle bending potential.static final double
final double
Force constant (Kcal/mol/Angstrom).double
Convert Out-of-Plane bending energy to kcal/mole.double
Quintic coefficient in out-of-plane angle bending potential.double
Quartic coefficient in out-of-plane angle bending potential.double
Sextic coefficient in out-of-plane angle bending potential. -
Constructor Summary
ConstructorDescriptionOutOfPlaneBendType
(int[] atomClasses, double forceConstant) OutOfPlaneBendType Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic OutOfPlaneBendType
average
(OutOfPlaneBendType outOfPlaneBendType1, OutOfPlaneBendType outOfPlaneBendType2, int[] atomClasses) Average two OutOfPlaneBendType instances.int
boolean
static Element
getXMLForce
(Document doc, ForceField forceField) Create an AmoebaOutOfPlaneBendForce instance.int
hashCode()
void
incrementClasses
(int increment) incrementClassesstatic OutOfPlaneBendType
Construct an OutOfPlaneBendType from an input string.patchClasses
(HashMap<AtomType, AtomType> typeMap) Remap new atom classes to known internal ones.static String
sortKey
(int[] c) This method sorts the atom classes for the out-of-plane angle bending type.toString()
Write OutOfPlaneBendType 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_OPBEND_CUBIC
public static final double DEFAULT_OPBEND_CUBICDefault cubic coefficient in out-of-plane angle bending potential.- See Also:
-
DEFAULT_OPBEND_QUARTIC
public static final double DEFAULT_OPBEND_QUARTICDefault quartic coefficient in out-of-plane angle bending potential.- See Also:
-
DEFAULT_OPBEND_PENTIC
public static final double DEFAULT_OPBEND_PENTICDefault pentic coefficient in out-of-plane angle bending potential.- See Also:
-
DEFAULT_OPBEND_SEXTIC
public static final double DEFAULT_OPBEND_SEXTICDefault 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 cubicCubic 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 quarticQuartic 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 penticQuintic 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 sexticSextic 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 opBendUnitConvert 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[] atomClassesAtom classes for this out-of-plane angle bending type. -
forceConstant
public final double forceConstantForce 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
- aOutOfPlaneBendType
object.outOfPlaneBendType2
- aOutOfPlaneBendType
object.atomClasses
- an array ofinvalid reference
int
- Returns:
- a
OutOfPlaneBendType
object.
-
parse
Construct an OutOfPlaneBendType from an input string.- Parameters:
input
- The overall input String.tokens
- The input String tokenized.- Returns:
- an OutOfPlaneBendType instance.
-
sortKey
This method sorts the atom classes for the out-of-plane angle bending type.- Parameters:
c
- atomClasses- Returns:
- lookup key
-
compare
- Specified by:
compare
in interfaceComparator<String>
-
equals
- Specified by:
equals
in interfaceComparator<String>
- Overrides:
equals
in classObject
-
hashCode
public int hashCode() -
incrementClasses
public void incrementClasses(int increment) incrementClasses- Parameters:
increment
- The increment to apply to the atom classes.
-
patchClasses
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
Basic toString method.
Nicely formatted out-of-plane angle bending string.
-
getXMLForce
Create an AmoebaOutOfPlaneBendForce instance.- Parameters:
doc
- the Document instance.forceField
- the ForceField to grab constants from.
-
toXML
Write OutOfPlaneBendType to OpenMM XML format.
-