potCosAngleRatio index/home/schwitrs/xplor/python/potCosAngleRatio.py

# Two potential terms involving ratios of cos(theta)
#
# this was developed to restrain rdc/csa Da values to be close to oneanother
#  (but not necessarily identical). These potentials have been reimplemented
#  the C++ module cosRatioPot for speed.
#
###################################################
#
# potential term #1:
#          1/2 * scale * (cos(theta1) - ratio*cos(theta2))^2
#
# where theta1 is one bond angle, theta2 is a second bond angle, and
# scale and ratio are constants.
#
# use:
#  from potCosAngleRatio import CosAngleRatioPot
#
#  term = CosAngleRatioPot("name",
#                         AtomSel("atom 01"),
#                         AtomSel("atom a1"),
#                         AtomSel("atom b1"),
#                         AtomSel("atom 02"),
#                         AtomSel("atom a2"),
#                         AtomSel("atom b2"),
#                         [simulation])
#
# theta1 is given by the angle a1 - 01 - b1
# theta2 is given by the angle a2 - 02 - b2
#  [simulation is an optional simulation parameter - usually not needed.]
#
# to set the scale factor:
#   term.scale = 100
#
# to set the constant ratio:
#   term.ratio = 0.2
#
# remember to add this to the terms to be evaluated:
#
###################################################
#
# potential term #2:
#       1/2 * scale * (cos(theta1)*cos(theta4) - cos(theta2)*cos(theta3))^2
#
# where theta1, theta2, theta3, and theta4 are bond angles, and
# scale is a constant. Note that the minimum of this potential occurs when
#
#    cos(theta1)/cos(theta2) = cos(theta3)/cos(theta4)
#
# use:
#  from potCosAngleRatio import CosAngleRatioPot
#
#  term = Cos2AngleRatioPot("name",
#                         AtomSel("atom 01"),
#                         AtomSel("atom a1"),
#                         AtomSel("atom b1"),
#                         AtomSel("atom 02"),
#                         AtomSel("atom a2"),
#                         AtomSel("atom b2"),
#                         AtomSel("atom 03"),
#                         AtomSel("atom a3"),
#                         AtomSel("atom b3"),
#                         AtomSel("atom 04"),
#                         AtomSel("atom a4"),
#                         AtomSel("atom b4"),
#                         [simulation])
#
# theta1 is given by the angle a1 - 01 - b1
# theta2 is given by the angle a2 - 02 - b2
#  [simulation is an optional simulation parameter - usually not needed.]
#
# to set the scale factor:
#   term.scale = 100
#
# to set the constant ratio:
#   term.ratio = 0.2
#
#

Classes

pyPot.PyPot(builtins.object)
Cos2AngleRatioPot
CosAngleRatioPot

 class Cos2AngleRatioPot(pyPot.PyPot) Cos2AngleRatioPot(name, atomSel01, atomSela1, atomSelb1, atomSel02, atomSela2, atomSelb2, atomSel03, atomSela3, atomSelb3, atomSel04, atomSela4, atomSelb4, sim=0) Method resolution order: Cos2AngleRatioPot pyPot.PyPot builtins.object Methods defined here: __init__(s, name, atomSel01, atomSela1, atomSelb1, atomSel02, atomSela2, atomSelb2, atomSel03, atomSela3, atomSelb3, atomSel04, atomSela4, atomSelb4, sim=0)Initialize self.  See help(type(self)) for accurate signature. calcEnergy(s) calcEnergyAndDerivs(s, derivs) Methods inherited from pyPot.PyPot: __deref__(self, *args, **kwargs) -> 'PyPot *' __oldinit__ = __init__(self, *args, **kwargs) __ref__(self, *args, **kwargs) -> 'PyPot &' __repr__ = _swig_repr(self) decrRefCnt(self, *args, **kwargs) -> 'void' incrRefCnt(self, *args, **kwargs) -> 'void' instanceData(self, *args, **kwargs) -> 'PyObject *' instanceName(self, *args, **kwargs) -> 'char const *' numRestraints(self, *args, **kwargs) -> 'int' potName(self, *args, **kwargs) -> 'char const *' pyXplorHelp(self, *args, **kwargs) -> 'String' pythonPot(self, *args, **kwargs) -> 'PyObject *' refCnt(self, *args, **kwargs) -> 'int' registerInstanceData(self, *args, **kwargs) -> 'void' registerTo(self, *args, **kwargs) -> 'void' resetInstanceName(self, *args, **kwargs) -> 'void' resetPotName(self, *args, **kwargs) -> 'void' rms(self, *args, **kwargs) -> 'float_type' scale(self, *args, **kwargs) -> 'float_type const' setScale(self, *args, **kwargs) -> 'void' setThreshold(self, *args, **kwargs) -> 'void' threshold(self, *args, **kwargs) -> 'float_type const' unRegister(self, *args, **kwargs) -> 'void' updateDelta(self, *args, **kwargs) -> 'void' updateValues(self, *args, **kwargs) -> 'void' violations(self, *args, **kwargs) -> 'float_type' Static methods inherited from pyPot.PyPot: __swig_destroy__ = delete_PyPot(...) Data descriptors inherited from pyPot.PyPot: __dict__   dictionary for instance variables (if defined) __weakref__   list of weak references to the object (if defined) instanceDataCleanup   instanceDataCreate   instanceData_   modified   registeredSimulations   thisown   The membership flag

 class CosAngleRatioPot(pyPot.PyPot) CosAngleRatioPot(name, atomSel01, atomSela1, atomSelb1, atomSel02, atomSela2, atomSelb2, sim=0) Method resolution order: CosAngleRatioPot pyPot.PyPot builtins.object Methods defined here: __init__(s, name, atomSel01, atomSela1, atomSelb1, atomSel02, atomSela2, atomSelb2, sim=0)Initialize self.  See help(type(self)) for accurate signature. calcEnergy(s) calcEnergyAndDerivs(s, derivs) Methods inherited from pyPot.PyPot: __deref__(self, *args, **kwargs) -> 'PyPot *' __oldinit__ = __init__(self, *args, **kwargs) __ref__(self, *args, **kwargs) -> 'PyPot &' __repr__ = _swig_repr(self) decrRefCnt(self, *args, **kwargs) -> 'void' incrRefCnt(self, *args, **kwargs) -> 'void' instanceData(self, *args, **kwargs) -> 'PyObject *' instanceName(self, *args, **kwargs) -> 'char const *' numRestraints(self, *args, **kwargs) -> 'int' potName(self, *args, **kwargs) -> 'char const *' pyXplorHelp(self, *args, **kwargs) -> 'String' pythonPot(self, *args, **kwargs) -> 'PyObject *' refCnt(self, *args, **kwargs) -> 'int' registerInstanceData(self, *args, **kwargs) -> 'void' registerTo(self, *args, **kwargs) -> 'void' resetInstanceName(self, *args, **kwargs) -> 'void' resetPotName(self, *args, **kwargs) -> 'void' rms(self, *args, **kwargs) -> 'float_type' scale(self, *args, **kwargs) -> 'float_type const' setScale(self, *args, **kwargs) -> 'void' setThreshold(self, *args, **kwargs) -> 'void' threshold(self, *args, **kwargs) -> 'float_type const' unRegister(self, *args, **kwargs) -> 'void' updateDelta(self, *args, **kwargs) -> 'void' updateValues(self, *args, **kwargs) -> 'void' violations(self, *args, **kwargs) -> 'float_type' Static methods inherited from pyPot.PyPot: __swig_destroy__ = delete_PyPot(...) Data descriptors inherited from pyPot.PyPot: __dict__   dictionary for instance variables (if defined) __weakref__   list of weak references to the object (if defined) instanceDataCleanup   instanceDataCreate   instanceData_   modified   registeredSimulations   thisown   The membership flag

 Functions addVec(v1, v2) dot(v1, v2) norm(v) sqrt(x, /)Return the square root of x. subVec(v1, v2)subtract v2 from v1 unitVec(v) vecScale(a, v)