Package ffx.potential.bonded
Class Torsion
java.lang.Object
javax.swing.tree.DefaultMutableTreeNode
ffx.potential.bonded.MSNode
ffx.potential.bonded.BondedTerm
ffx.potential.bonded.Torsion
- All Implemented Interfaces:
BondedEnergy
,LambdaInterface
,ROLS
,Serializable
,Cloneable
,Comparable<BondedTerm>
,MutableTreeNode
,TreeNode
The Torsion class represents a torsional angle formed 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
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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
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
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.double
Get the torsion scale up factor.void
log()
Log details for this Torsional Angle energy term.static void
logNoTorsionType
(Atom a0, Atom a1, Atom a2, Atom a3, ForceField forceField) Log that no TorsionType exists.double
measure()
Compute the torsional angle in degrees.void
setLambda
(double lambda) Set the current value of the state variable.void
setTorsionScale
(double torsionScale) Set the torsion scale up factor.void
setTorsionType
(TorsionType torsionType) Set the torsion type.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
-
torsionType
The force field Torsion type in use.
-
-
Constructor Details
-
Torsion
Create a Torsion from 3 connected bonds (no error checking)- Parameters:
b1
- Bondb2
- Bondb3
- Bond
-
-
Method Details
-
logNoTorsionType
Log that no TorsionType exists.- Parameters:
a0
- Atom 0.a1
- Atom 1.a2
- Atom 2.a3
- Atom 3.
-
setTorsionType
Set the torsion type.- Parameters:
torsionType
- The TorsionType.
-
setTorsionScale
public void setTorsionScale(double torsionScale) Set the torsion scale up factor.- Parameters:
torsionScale
- The torsion scale up factor.
-
getTorsionScale
public double getTorsionScale()Get the torsion scale up factor.- Returns:
- The torsion scale up factor.
-
compare
compare -
measure
public double measure()Compute the torsional angle in degrees.- Returns:
- The torsion in degrees.
-
energy
public double energy(boolean gradient, int threadID, AtomicDoubleArray3D grad, AtomicDoubleArray3D lambdaGrad) energy.Evaluate the Torsional Angle 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
-
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 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:
toString
in classBondedTerm
-