Package ffx.potential.parameters
Class UreyBradleyType
java.lang.Object
ffx.potential.parameters.BaseType
ffx.potential.parameters.UreyBradleyType
- All Implemented Interfaces:
Comparator<String>
@FFXProperty(name="ureybrad",
clazz=java.lang.String.class,
propertyGroup=PotentialFunctionParameter,
description="[3 integers and 2 reals]\nProvides the values for a single Urey-Bradley cross term potential parameter.\nThe integer modifiers give the atom class numbers for the three kinds of atoms\ninvolved in the angle for which a Urey-Bradley term is to be defined.\nThe real number modifiers give the force constant value for the term and the target value for the 1-3 distance in Angstroms.\nThe default units for the force constant are kcal/mole/Ang^2, but this can be controlled via the ureyunit keyword\n")
public final class UreyBradleyType
extends BaseType
implements Comparator<String>
The UreyBradleyType class defines one harmonic UreyBradley cross term.
- Since:
- 1.0
- Author:
- Michael J. Schnieders
-
Field Summary
Modifier and TypeFieldDescriptionfinal int[]
Atom classes that form this Urey-Bradley cross term.double
Cubic coefficient in bond stretch potential.static final double
Default cubic coefficient in Urey-Bradley stretch potential.static final double
Default quartic coefficient in Urey-Bradley stretch potential.static final double
Default conversion Urey-Bradley stretch energy to kcal/mole.final double
Equilibrium 1-3 separation (Angstroms).final double
Force constant (Kcal/mole/angstroms^2).double
Quartic coefficient in bond stretch potential.double
Convert Urey-Bradley stretch energy to kcal/mole. -
Constructor Summary
ConstructorDescriptionUreyBradleyType
(int[] atomClasses, double forceConstant, double distance) UreyBradleyType constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic UreyBradleyType
average
(UreyBradleyType ureyBradleyType1, UreyBradleyType ureyBradleyType2, int[] atomClasses) average.int
boolean
static Element
getXMLForce
(Document doc, ForceField forceField) Create an AmoebaUreyBradleyForce element.int
hashCode()
void
incrementClasses
(int increment) Increment the atom classes by a specified amount.static UreyBradleyType
Construct a UreyBradleyType from an input string.void
patchClasses
(HashMap<AtomType, AtomType> typeMap) Remap new atom classes to known internal ones.static String
sortKey
(int[] c) This method sorts the atom classes as: min, c[1], maxtoString()
Write UreyBradleyType 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_UREY_UNIT
public static final double DEFAULT_UREY_UNITDefault conversion Urey-Bradley stretch energy to kcal/mole.- See Also:
-
DEFAULT_UREY_CUBIC
public static final double DEFAULT_UREY_CUBICDefault cubic coefficient in Urey-Bradley stretch potential.- See Also:
-
DEFAULT_UREY_QUARTIC
public static final double DEFAULT_UREY_QUARTICDefault quartic coefficient in Urey-Bradley stretch potential.- See Also:
-
ureyUnit
@FFXProperty(name="ureyunit", propertyGroup=EnergyUnitConversion, defaultValue="1.0", description="Sets the scale factor needed to convert the energy value computed by the Urey-Bradley 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 ureyUnitConvert Urey-Bradley stretch energy to kcal/mole. -
cubic
@FFXProperty(name="urey-cubic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the cubic term in the Taylor series expansion form of the Urey-Bradley potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThe default value in the absence of the urey-cubic keyword is zero; i.e., the cubic Urey-Bradley term is omitted.\n") public double cubicCubic coefficient in bond stretch potential. -
quartic
@FFXProperty(name="urey-quartic", propertyGroup=LocalGeometryFunctionalForm, defaultValue="0.0", description="Sets the value of the quartic term in the Taylor series expansion form of the Urey-Bradley potential energy.\nThe real number modifier gives the value of the coefficient as a multiple of the quadratic coefficient.\nThe default value in the absence of the urey-quartic keyword is zero; i.e., the quartic Urey-Bradley term is omitted.\n") public double quarticQuartic coefficient in bond stretch potential. -
atomClasses
public final int[] atomClassesAtom classes that form this Urey-Bradley cross term. -
forceConstant
public final double forceConstantForce constant (Kcal/mole/angstroms^2). -
distance
public final double distanceEquilibrium 1-3 separation (Angstroms).
-
-
Constructor Details
-
UreyBradleyType
public UreyBradleyType(int[] atomClasses, double forceConstant, double distance) UreyBradleyType constructor.- Parameters:
atomClasses
- Atom classes.forceConstant
- Force constant (Kcal/mole/angstroms^2).distance
- Equilibrium 1-3 separation (Angstroms).
-
-
Method Details
-
average
public static UreyBradleyType average(UreyBradleyType ureyBradleyType1, UreyBradleyType ureyBradleyType2, int[] atomClasses) average.- Parameters:
ureyBradleyType1
- aUreyBradleyType
object.ureyBradleyType2
- aUreyBradleyType
object.atomClasses
- an array ofinvalid reference
int
- Returns:
- a
UreyBradleyType
object.
-
parse
Construct a UreyBradleyType from an input string.- Parameters:
input
- The overall input String.tokens
- The input String tokenized.- Returns:
- a UreyBradleyType instance.
-
sortKey
This method sorts the atom classes as: min, c[1], max- 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) Increment the atom classes by a specified amount.- 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.
-
toString
Basic toString method.
Nicely formatted Urey-Bradley string.
-
getXMLForce
Create an AmoebaUreyBradleyForce element.- Parameters:
doc
- the Document instance.forceField
- the ForceField to grab constants from.- Returns:
- the AmoebaUreyBradleyForce element.
-
toXML
Write UreyBradleyType to OpenMM XML format.
-