def __calc_ab(model, bonds, angles): y0 = [] for i1 in range(0, len(bonds), 2): i2 = i1 + 1 x = model.coords[i1*3] - model.coords[i2*3] y = model.coords[i1*3+1] - model.coords[i2*3+1] z = model.coords[i1*3+2] - model.coords[i2*3+2] y0.append(sqrt(x*x+y*y+z*z)) for i1 in range(0, len(angles), 3): i2 = i1 + 1 i3 = i2 + 2 v1 = XYZ(model.coords[i1*3], model.coords[i1*3+1], model.coords[i1*3+2]) v2 = XYZ(model.coords[i2*3], model.coords[i2*3+1], model.coords[i2*3+2]) v3 = XYZ(model.coords[i3*3], model.coords[i3*3+1], model.coords[i3*3+2]) y0.append(angle(v1, v2, v3)) return y0
def alpha(self): return angle(self.vb, self.vc)