Esempio n. 1
0
 def calc_dqdk(self, mol, atoms, par):
     phi = torsion(atoms[0].coord, atoms[1].coord, atoms[2].coord, atoms[3].coord)
     d1, d2, d3, d4 = cos(phi), cos(2*phi), cos(3*phi), cos(4*phi)
     return  (d1, d2, d3, d4, 0.0, 0.0, 0.0, 0.0), \
             (-d1, -d2, -d3, -d4, 0.0, 0.0, 0.0, 0.0), \
             (0.0, 0.0, 0.0, 0.0, -d1, -d2, -d3, -d4), \
             (0.0, 0.0, 0.0, 0.0, d1, d2, d3, d4),
Esempio n. 2
0
 def calc_charge(self, mol, atoms, par):
     phi = torsion(atoms[0].coord, atoms[1].coord, atoms[2].coord, atoms[3].coord)
     delta1 = par[0] * cos(phi) + par[1] * cos(phi*2) + par[2] * cos(phi*3) + par[3]*cos(phi*4)
     delta2 = par[4] * cos(phi) + par[5] * cos(phi*2) + par[6] * cos(phi*3) + par[7]*cos(phi*4)
     return delta1, -delta1, -delta2, delta2,
Esempio n. 3
0
 def calc_charge(self, mol, atoms, par):
     phi = torsion(atoms[0].coord, atoms[1].coord, atoms[2].coord, atoms[3].coord)
     delta = par[0] * cos(phi) + par[1] * cos(phi*2) + par[2] * cos(phi*3) + par[3]*cos(phi*4)
     return delta, 0.0, 0.0, -delta,