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
FieldsModifier and TypeFieldDescriptionfinal int[]Atom classes that form this Urey-Bradley cross term.doubleCubic coefficient in bond stretch potential.static final doubleDefault cubic coefficient in Urey-Bradley stretch potential.static final doubleDefault quartic coefficient in Urey-Bradley stretch potential.static final doubleDefault conversion Urey-Bradley stretch energy to kcal/mole.final doubleEquilibrium 1-3 separation (Angstroms).final doubleForce constant (Kcal/mole/angstroms^2).doubleQuartic coefficient in bond stretch potential.doubleConvert Urey-Bradley stretch energy to kcal/mole. - 
Constructor Summary
ConstructorsConstructorDescriptionUreyBradleyType(int[] atomClasses, double forceConstant, double distance) UreyBradleyType constructor. - 
Method Summary
Modifier and TypeMethodDescriptionstatic UreyBradleyTypeaverage(UreyBradleyType ureyBradleyType1, UreyBradleyType ureyBradleyType2, int[] atomClasses) Average two UreyBradleyType objects.intbooleanstatic ElementgetXMLForce(Document doc, ForceField forceField) Create an AmoebaUreyBradleyForce element.inthashCode()voidincrementClasses(int increment) Increment the atom classes by a specified amount.static UreyBradleyTypeConstruct a UreyBradleyType from an input string.voidpatchClasses(HashMap<AtomType, AtomType> typeMap) Remap new atom classes to known internal ones.static StringsortKey(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, waitMethods 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(@Nullable UreyBradleyType ureyBradleyType1, @Nullable UreyBradleyType ureyBradleyType2, @Nullable int[] atomClasses) Average two UreyBradleyType objects.- Parameters:
 ureyBradleyType1- First UreyBradleyType.ureyBradleyType2- Second UreyBradleyType.atomClasses- Atom classes to use for the average.- Returns:
 - A new UreyBradleyType with averaged properties, or null if inputs are invalid.
 
 - 
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:
 comparein interfaceComparator<String>
 - 
equals
- Specified by:
 equalsin interfaceComparator<String>- Overrides:
 equalsin 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. 
 -