def __init__(self,mol,mints): self.nocc = get_nocc(mol) self.nbf = get_nbf(mints) self.norb = 2*self.nbf self.conv = get_conv() self.maxiter = get_maxiter() self.uhf = UHF(mol,mints) self.E_uhf = self.uhf.get_energy() self.e = self.uhf.e self.g = self.uhf.g self.C = self.uhf.C
def __init__(self,mol,mints): self.nbf = get_nbf(mints) self.nocc = get_nocc(mol) uhf = UHF(mol,mints) uhf.get_energy() self.E0 = uhf.E self.e = uhf.e self.Gmo = transform_integrals(uhf.g, uhf.C) self.norb = 2*self.nbf self.nvirtual = self.norb - self.nocc self.ndet = self.nvirtual*self.nocc
def __init__(self,mol,mints): self.nbf = get_nbf(mints) self.norb = 2* self.nbf self.nocc = get_nocc(mol) self.conv = get_conv() self.maxiter = get_maxiter() m = self.nbf N = self.norb # overlap matrix S = mints.ao_overlap() self.Z = block_oei(S) self.X = np.matrix(la.funm(self.Z,lambda x : x**(-0.5))) # KE matrix T = mints.ao_kinetic() self.T = block_oei(T) # PE matrix V = mints.ao_potential() self.V = block_oei(V) self.Vnu = mol.nuclear_repulsion_energy() # Hcore self.H = self.T + self.V # ERI matrix G = np.array( mints.ao_eri() ) #### mxmxmxm tensor self.G = block_tei(G) self.g = self.G.swapaxes(1,2) #### ( m n | r s ) -> < m r | n s > # Density matrix self.D = np.matrix(np.zeros(self.Z.shape)) self.E = 0.0