Package ffx.potential.bonded
Class RestrainTorsion
java.lang.Object
javax.swing.tree.DefaultMutableTreeNode
ffx.potential.bonded.MSNode
ffx.potential.bonded.BondedTerm
ffx.potential.bonded.RestrainTorsion
- All Implemented Interfaces:
 BondedEnergy,LambdaInterface,ROLS,Serializable,Cloneable,Comparable<BondedTerm>,MutableTreeNode,TreeNode
RestraintTorsion is a class that restrains the torsion angle defined by four 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
FieldsFields inherited from class ffx.potential.bonded.BondedTerm
bonds, energy, id, valueFields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObjectFields inherited from interface ffx.potential.bonded.ROLS
MaxLengthScale - 
Constructor Summary
ConstructorsConstructorDescriptionRestrainTorsion(Atom a1, Atom a2, Atom a3, Atom a4, TorsionType torsionType, boolean lambdaEnabled, boolean reverseLambda, double units) Constructor for RestrainTorsion. - 
Method Summary
Modifier and TypeMethodDescriptionbooleanCheck if any atom of this BondedTerm has the Lambda flag set.doubleenergy(boolean gradient, int threadID, AtomicDoubleArray3D grad, AtomicDoubleArray3D lambdaGrad) energy.getAtom(int index) Get the constituent Atom specified by index.Atom[]getAtoms()Returns a reference to the Atoms contained in this BondedTerm, regardless of whether they are child nodes in the tree structure.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.doublemapLambda(double lambda) voidsetLambda(double lambda) Set the current value of the state variable.toString()Methods inherited from class ffx.potential.bonded.BondedTerm
compareTo, containsHydrogen, containsResolution, destroy, equals, getAtomArray, getAtomArray, 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
- 
torsionType
 - 
units
public final double units 
 - 
 - 
Constructor Details
- 
RestrainTorsion
public RestrainTorsion(Atom a1, Atom a2, Atom a3, Atom a4, TorsionType torsionType, boolean lambdaEnabled, boolean reverseLambda, double units) Constructor for RestrainTorsion.- Parameters:
 a1- First torsional atom.a2- Second torsional atom.a3- Third torsional atom.a4- Fourth torsional atom.torsionType- TorsionType.lambdaEnabled- True if the lambda term is enabled.reverseLambda- True if the lambda term should be reversed.units- Units for the energy term.
 
 - 
 - 
Method Details
- 
energy
public double energy(boolean gradient, int threadID, AtomicDoubleArray3D grad, AtomicDoubleArray3D lambdaGrad) Description copied from interface:BondedEnergyenergy.- Specified by:
 energyin interfaceBondedEnergy- Parameters:
 gradient- If true, compute the gradient.threadID- The thread ID.grad- aAtomicDoubleArray3Dobject.lambdaGrad- aAtomicDoubleArray3Dobject.- Returns:
 - a double.
 
 - 
getLambda
public double getLambda()Description copied from interface:LambdaInterfaceGet the current value of the state variable.- Specified by:
 getLambdain interfaceLambdaInterface- Returns:
 - state
 
 - 
getAtoms
Description copied from class:BondedTermReturns a reference to the Atoms contained in this BondedTerm, regardless of whether they are child nodes in the tree structure.- Overrides:
 getAtomsin classBondedTerm- Returns:
 - Atoms in this BondedTerm
 
 - 
getAtom
Description copied from class:BondedTermGet the constituent Atom specified by index.- Overrides:
 getAtomin classBondedTerm- Parameters:
 index- The index of the Atom to return.- Returns:
 - a 
Atomobject. 
 - 
applyLambda
public boolean applyLambda()Description copied from class:BondedTermCheck if any atom of this BondedTerm has the Lambda flag set.- Overrides:
 applyLambdain classBondedTerm- Returns:
 - True if Lambda is applied to one of the BondedTerm atoms.
 
 - 
setLambda
public void setLambda(double lambda) Description copied from interface:LambdaInterfaceSet 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()Description copied from interface:LambdaInterfaceGet the 2nd partial derivative of the energy with respect to lambda.- Specified by:
 getd2EdL2in interfaceLambdaInterface- Returns:
 - d2EdL2
 
 - 
getdEdL
public double getdEdL()Description copied from interface:LambdaInterfaceGet the partial derivative of the energy with respect to lambda.- Specified by:
 getdEdLin interfaceLambdaInterface- Returns:
 - dEdL
 
 - 
mapLambda
public double mapLambda(double lambda)  - 
getdEdXdL
public void getdEdXdL(double[] gradient) Description copied from interface:LambdaInterfaceGet 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).
 - 
toString
Description copied from class:BondedTermOverridden toString method returns the MSNode's name
Overridden toString Method returns the Term's id.
- Overrides:
 toStringin classBondedTerm
 
 -