示例#1
0
# Transformation to internal coordinates
mol.internas_bonds(bond, nbond)
mol.internas_ang(ang, nang)
mol.internas_dihe(dih, ndih)

# Internal coordinates of the minimun
mol.b0 = mol.bonds
mol.a0 = mol.angles
mol.d0 = mol.dihedrals
q0 = mol.bonds + mol.angles + mol.dihedrals

## CALCULATING THE GRADIENT AND HESSIAN MATRIX IN INTERNAL COORDINATES
## FOR THE FIRST STATE

second_derv = my.segunda_wilson(symb, ndim, numat, bond, ang, dih)
derv_trans = np.transpose(second_derv)
Bwilson, transp = my.matrix_transf(symb, bond, ang, dih)
G_mtx = np.dot(Bwilson, transp)
G_inv = my.invertir_mtx(G_mtx)

Grad_st1 = np.dot(G_inv, np.dot(Bwilson, st1_grad_cart))
mtx_B_G1 = np.dot(derv_trans, Grad_st1)
mtx_resta1 = st1_hess_cart - mtx_B_G1
Hess_st1 = np.dot(np.dot(np.dot(G_inv, Bwilson), mtx_resta1),
                  np.dot(transp, G_inv))

########### DATA OF THE SECOND AND THIRD STATES ############
#############################################################
file_st2 = files[1]
st2_energy, st2_grad_cart, st2_hess_cart = my.initial_data(file_st2, 'state2')