Package schrodinger :: Package application :: Package desmond :: Module meta :: Class CVAngle
[hide private]
[frames] | no frames]

Class CVAngle

CV --+
     |
    CVAngle

A class to define angle collective variable. Note that due to numerical instability, cosine of the angle is used instead of radian.

Instance Methods [hide private]
 
__init__(self, p0, p1, p2, width, wall, floor)
 
getMExpr(self, model, cvname)
Class Variables [hide private]
  cvangle_template = '\n# angle definition\n%(cvname)s_p0 = %(p0...
  cvangle_grp_template = '\n# angle definition for group of atom...
  cvangle_wall_template = '\n# the upper bound, wall params for ...
  cvangle_floor_template = '\n# lower bound wall or \'floor\' pa...
Method Details [hide private]

__init__(self, p0, p1, p2, width, wall, floor)
(Constructor)

 
Overrides: CV.__init__

getMExpr(self, model, cvname)

 
Overrides: CV.getMExpr

Class Variable Details [hide private]

cvangle_template

Value:
'''
# angle definition
%(cvname)s_p0 = %(p0_atomsel)s;
%(cvname)s_p1 = %(p1_atomsel)s;
%(cvname)s_p2 = %(p2_atomsel)s;
%(cvname)s = angle_gid(%(cvname)s_p0, %(cvname)s_p1, %(cvname)s_p2);
print ("%(cvname)s", acos(%(cvname)s) );
# the width for %(cvname)s will be set to: %(width)s
...

cvangle_grp_template

Value:
'''
# angle definition for group of atoms
%(cvname)s_g0 = center_of_mass ( %(p0_atomsel)s );
%(cvname)s_g1 = center_of_mass ( %(p1_atomsel)s );
%(cvname)s_g2 = center_of_mass ( %(p2_atomsel)s );
%(cvname)s_v0 = min_image(%(cvname)s_g0 - %(cvname)s_g1);
%(cvname)s_v1 = min_image(%(cvname)s_g2 - %(cvname)s_g1);
%(cvname)s = angle(%(cvname)s_v0, %(cvname)s_v1);
...

cvangle_wall_template

Value:
'''
# the upper bound, wall params for %(cvname)s are: width is 0.57 degre\
e;
# location at %(wall)f; hight is 1000
%(cvname)s_wall = 1000 / (1 + exp(( %(wall)f - acos(%(cvname)s))/0.05)\
 );
'''

cvangle_floor_template

Value:
'''
# lower bound wall or \'floor\' params for %(cvname)s are: width is 0.\
57 degree;
# location at %(floor)f; # hight is 1000
%(cvname)s_floor = 1000/(1 + (exp((acos(%(cvname)s)- %(floor)f)/0.05))\
 );
'''