Package ffx.potential.bonded
Class AngleTorsion
java.lang.Object
javax.swing.tree.DefaultMutableTreeNode
ffx.potential.bonded.MSNode
ffx.potential.bonded.BondedTerm
ffx.potential.bonded.AngleTorsion
- All Implemented Interfaces:
BondedEnergy
,LambdaInterface
,ROLS
,Serializable
,Cloneable
,Comparable<BondedTerm>
,MutableTreeNode
,TreeNode
The AngleTorsion class represents an angle torsion coupling between four bonded atoms.
- Since:
- 1.0
- Author:
- Michael J. Schnieders
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ffx.potential.bonded.BondedTerm
BondedTerm.BondedComparator
-
Field Summary
Modifier and TypeFieldDescriptionFirst angle force field type.Second angle force field type.Fields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
Fields inherited from interface ffx.potential.bonded.ROLS
MaxLengthScale
-
Constructor Summary
ConstructorDescriptionAngleTorsion
(Angle an1, Angle an2) AngleTorsion constructor.AngleTorsion
(Bond b1, Bond b2, Bond b3) Create a AngleTorsion from 3 connected bonds (no error checking)AngleTorsion Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic String
Returns the mathematical form of an angle-torsion as an OpenMM-parsable String.boolean
comparedouble
energy
(boolean gradient, int threadID, AtomicDoubleArray3D grad, AtomicDoubleArray3D lambdaGrad) energy.If the specified atom is not a central atom of this torsion, the atom at the opposite end is returned.double[]
Returns the array of stretch-torsion constants, in units of kcal/mol/degree.double
Get the 2nd partial derivative of the energy with respect to lambda.double
getdEdL()
Get the partial derivative of the energy with respect to lambda.void
getdEdXdL
(double[] gradient) Get the gradient of dEdL with respect to each parameter.double
Get the current value of the state variable.void
log()
Log details for this Angle-Torsion energy term.void
setLambda
(double lambda) Set the current value of the state variable.toString()
Methods inherited from class ffx.potential.bonded.BondedTerm
applyLambda, compareTo, containsHydrogen, containsResolution, destroy, equals, getAtom, getAtomArray, getAtomArray, getAtoms, getBond, getID, getUse, getValue, hashCode, isConstrained, isLambdaScaled, isNeuralNetwork, print, removeNeuralNetworkTerms, setAtoms, setBonds, setColor, setConstraint, setID, setID_Key, setSelected, setValue, setView
Methods inherited from class ffx.potential.bonded.MSNode
contains, drawLabel, getAngleList, getAngleTorsionList, getAtomList, getAtomList, getBondList, getCenter, getChildList, getExtent, getImproperTorsionList, getList, getList, getMSCount, getMSNode, getMW, getName, getOutOfPlaneBendList, getPiOrbitalTorsionList, getStretchBendList, getStretchTorsionList, getTorsionList, getTorsionTorsionList, getTotalMass, getUreyBradleyList, isSelected, removeChild, setName, update
Methods inherited from class javax.swing.tree.DefaultMutableTreeNode
add, breadthFirstEnumeration, children, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildAt, getChildBefore, getChildCount, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isLeaf, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface ffx.potential.bonded.BondedEnergy
energy, energy, update
Methods inherited from interface ffx.potential.bonded.LambdaInterface
dEdLZeroAtEnds
-
Field Details
-
angleType1
First angle force field type. -
angleType2
Second angle force field type.
-
-
Constructor Details
-
AngleTorsion
AngleTorsion constructor.- Parameters:
an1
- Angle that combines to form the Torsional Anglean2
- Angle that combines to form the Torsional Angle
-
AngleTorsion
Create a AngleTorsion from 3 connected bonds (no error checking)- Parameters:
b1
- Bondb2
- Bondb3
- Bond
-
AngleTorsion
AngleTorsion Constructor.- Parameters:
n
- Torsion id
-
-
Method Details
-
angleTorsionForm
Returns the mathematical form of an angle-torsion as an OpenMM-parsable String.- Returns:
- Mathematical form of the angle-torsion coupling.
-
compare
compare -
energy
public double energy(boolean gradient, int threadID, AtomicDoubleArray3D grad, AtomicDoubleArray3D lambdaGrad) energy.Evaluate the Angle-Torsion energy.
- Specified by:
energy
in interfaceBondedEnergy
- Parameters:
gradient
- If true, compute the gradient.threadID
- The thread ID.grad
- aAtomicDoubleArray3D
object.lambdaGrad
- aAtomicDoubleArray3D
object.- Returns:
- a double.
-
get1_4
If the specified atom is not a central atom of this torsion, the atom at the opposite end is returned. These atoms are said to be 1-4 to each other.- Parameters:
a
- Atom- Returns:
- Atom
-
getConstants
public double[] getConstants()Returns the array of stretch-torsion constants, in units of kcal/mol/degree.- Returns:
- Stretch-torsion constants.
-
getLambda
public double getLambda()Get the current value of the state variable.- Specified by:
getLambda
in interfaceLambdaInterface
- Returns:
- state
-
setLambda
public void setLambda(double lambda) Set the current value of the state variable. May be ignored if lambda is not being applied.- Specified by:
setLambda
in interfaceLambdaInterface
- Parameters:
lambda
- a double.
-
getd2EdL2
public double getd2EdL2()Get the 2nd partial derivative of the energy with respect to lambda.- Specified by:
getd2EdL2
in interfaceLambdaInterface
- Returns:
- d2EdL2
-
getdEdL
public double getdEdL()Get the partial derivative of the energy with respect to lambda.- Specified by:
getdEdL
in interfaceLambdaInterface
- Returns:
- dEdL
-
getdEdXdL
public void getdEdXdL(double[] gradient) Get the gradient of dEdL with respect to each parameter.- Specified by:
getdEdXdL
in interfaceLambdaInterface
- Parameters:
gradient
- - A double array of length the number of parameters in the model (commonly 3 * number of atoms).
-
log
public void log()Log details for this Angle-Torsion energy term. -
toString
Overridden toString method returns the MSNode's name
Overridden toString Method returns the Term's id.
Overridden toString Method returns the Term's id.
- Overrides:
toString
in classBondedTerm
-