Package ffx.potential.bonded
Class StretchTorsion
java.lang.Object
javax.swing.tree.DefaultMutableTreeNode
ffx.potential.bonded.MSNode
ffx.potential.bonded.BondedTerm
ffx.potential.bonded.StretchTorsion
- All Implemented Interfaces:
 BondedEnergy,LambdaInterface,ROLS,Serializable,Cloneable,Comparable<BondedTerm>,MutableTreeNode,TreeNode
The StretchTorsion class represents a coupling between a torsional angle and the three bonds
 contained in the torsion, as defined in the 2017 AMOEBA nucleic acid force field.
- 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
FieldsModifier and TypeFieldDescriptionFirst bond force field type.Second bond force field type.Third bond force field type.Fields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObjectFields inherited from interface ffx.potential.bonded.ROLS
MaxLengthScale - 
Method Summary
Modifier and TypeMethodDescriptionbooleancomparedoubleenergy(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/A.doubleGet the 2nd partial derivative of the energy with respect to lambda.doublegetdEdL()Get the partial derivative of the energy with respect to lambda.voidgetdEdXdL(double[] gradient) Get the gradient of dEdL with respect to each parameter.doubleGet the current value of the state variable.voidlog()Log details for this Stretch-Torsional Angle energy term.voidsetLambda(double lambda) Set the current value of the state variable.static StretchTorsionstretchTorsionFactory(Torsion torsion, ForceField forceField) Attempt to create a new StretchTorsion based on the supplied torsion.static StringReturns the mathematical form of a stretch-torsion as an OpenMM-parsable String.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, setViewMethods 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, updateMethods 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, setUserObjectMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ffx.potential.bonded.BondedEnergy
energy, energy, updateMethods inherited from interface ffx.potential.bonded.LambdaInterface
dEdLZeroAtEnds 
- 
Field Details
- 
bondType1
First bond force field type. - 
bondType2
Second bond force field type. - 
bondType3
Third bond force field type. 
 - 
 - 
Method Details
- 
stretchTorsionFactory
Attempt to create a new StretchTorsion based on the supplied torsion.- Parameters:
 torsion- the Torsion.forceField- the ForceField parameters to apply.- Returns:
 - a new StretchTorsion, or null.
 
 - 
stretchTorsionForm
Returns the mathematical form of a stretch-torsion as an OpenMM-parsable String.- Returns:
 - Mathematical form of the stretch-torsion coupling.
 
 - 
compare
compare - 
energy
public double energy(boolean gradient, int threadID, AtomicDoubleArray3D grad, AtomicDoubleArray3D lambdaGrad) energy.Evaluate the Stretch-Torsion energy.
- Specified by:
 energyin interfaceBondedEnergy- Parameters:
 gradient- If true, compute the gradient.threadID- The thread ID.grad- aAtomicDoubleArray3Dobject.lambdaGrad- aAtomicDoubleArray3Dobject.- 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/A.- Returns:
 - Stretch-torsion constants.
 
 - 
getLambda
public double getLambda()Get the current value of the state variable.- Specified by:
 getLambdain 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:
 setLambdain interfaceLambdaInterface- Parameters:
 lambda- a double.
 - 
getd2EdL2
public double getd2EdL2()Get the 2nd partial derivative of the energy with respect to lambda.- Specified by:
 getd2EdL2in interfaceLambdaInterface- Returns:
 - d2EdL2
 
 - 
getdEdL
public double getdEdL()Get the partial derivative of the energy with respect to lambda.- Specified by:
 getdEdLin interfaceLambdaInterface- Returns:
 - dEdL
 
 - 
getdEdXdL
public void getdEdXdL(double[] gradient) Get the gradient of dEdL with respect to each parameter.- Specified by:
 getdEdXdLin 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 Stretch-Torsional Angle 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:
 toStringin classBondedTerm
 
 -