def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1', basis='cc-pvdz', spin=1) self.uhf = hf.UHF(self.m).run() self.uhf_df = hf.UHF(self.m, with_df=True).run()
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0', basis='sto-3g') self.uhf = hf.UHF(self.m).run() self.uhf_df = hf.UHF(self.m, auxbasis='aug-cc-pvqz-ri', with_df=True).run() self.e_mp2 = -0.041913367798116496
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0', basis='cc-pvdz') self.rhf = hf.RHF(self.m).run() self.uhf = hf.UHF(self.m).run() self.rhf_df = hf.RHF(self.m, with_df=True).run() self.uhf_df = hf.UHF(self.m, with_df=True).run() self.eri_rhf = self.rhf.eri_mo self.eri_uhf = self.uhf.eri_mo self.eri_rhf_df = self.rhf_df.eri_mo self.eri_uhf_df = self.uhf_df.eri_mo
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1', basis='cc-pvdz', spin=1) self.uhf = hf.UHF(self.m).run() self.e_mp2 = -0.15197757655845123 self.e_mp2_scs = -0.1502359064727459
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0', basis='cc-pvdz') self.rhf = hf.RHF(self.m).run() self.uhf = hf.UHF(self.m).run() self.gf = aux.Aux(self.rhf.e, np.eye(self.rhf.nao), chempot=self.rhf.chempot) self.se = aux.build_rmp2(self.rhf.e, self.rhf.eri_mo, chempot=self.rhf.chempot) self.gf_a = aux.Aux(self.uhf.e[0], np.eye(self.uhf.nao), chempot=self.uhf.chempot[0]) self.gf_b = aux.Aux(self.uhf.e[1], np.eye(self.uhf.nao), chempot=self.uhf.chempot[1]) self.se_a = aux.build_ump2(self.uhf.e, self.uhf.eri_mo[0], chempot=self.uhf.chempot) self.se_b = aux.build_ump2(self.uhf.e[::-1], self.uhf.eri_mo[1][::-1], chempot=self.uhf.chempot[::-1]) self.e_rmp2 = -0.20905684700662164 self.e_ump2 = -0.20905685057662993
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0', basis='sto-3g') self.rhf = hf.RHF(self.m).run() self.uhf = hf.UHF(self.m).run() self.e_rmp2 = mp.MP2(self.rhf).run().e_corr self.e_ump2 = mp.MP2(self.uhf).run().e_corr
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0', basis='cc-pvdz') self.rhf = hf.RHF(self.m).run() self.uhf = hf.UHF(self.m).run() self.e_rmp2 = -0.20905684700662164 self.e_ump2 = -0.20905685057662993
def test_uagf2_df(self): uhf = hf.UHF(self.m, with_df=True).run() uagf2 = agf2.UAGF2(uhf, nmom=(1, 1), verbose=False, etol=1e-7) uagf2.run() self.assertTrue(uagf2.converged) self.assertAlmostEqual(uagf2.e_mp2, self.e_mp2, 3) self.assertAlmostEqual(np.trace(uagf2.rdm1[0]), self.m.nalph, 6) self.assertAlmostEqual(np.trace(uagf2.rdm1[1]), self.m.nbeta, 6) self.assertAlmostEqual(uagf2.e_1body, -74.9230493877132 , 3) self.assertAlmostEqual(uagf2.e_2body, -0.08160143624651722, 3) self.assertAlmostEqual(uagf2.e_hf, -74.96117113786579 , 3) self.assertAlmostEqual(uagf2.e_corr, -0.04347968609393149, 3) self.assertAlmostEqual(uagf2.e_tot, -75.00465082395972 , 3)
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1', basis='cc-pvdz', spin=1) self.uhf = hf.UHF(self.m).run() self.uhf_df = hf.UHF(self.m, with_df=True).run() self.eri = self.uhf.eri_mo self.eri_df = self.uhf_df.eri_mo self.se = (aux.build_ump2(self.uhf_df.e, util.einsum('qij,sqkl->sijkl', self.eri_df[0], self.eri_df), chempot=self.uhf_df.chempot, wtol=0), aux.build_ump2(self.uhf_df.e[::-1], util.einsum('qij,sqkl->sijkl', self.eri_df[1], self.eri_df[::-1]), chempot=self.uhf.chempot[::-1], wtol=0)) self.e_mp2 = -0.15197757655845123 self.e_mp2_scs = -0.1502359064727459
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1', basis='cc-pvdz', spin=1) self.uhf = hf.UHF(self.m).run() self.eri = self.uhf.eri_mo self.se = (aux.build_ump2(self.uhf.e, self.eri[0], chempot=self.uhf.chempot, wtol=0), aux.build_ump2(self.uhf.e[::-1], self.eri[1][::-1], chempot=self.uhf.chempot[::-1], wtol=0)) self.e_mp2 = -0.15197757655845123 self.e_mp2_scs = -0.1502359064727459
# Runs some UAGF2 calculations from auxgf import mol, hf, agf2 from auxgf.util import Timer timer = Timer() # Build the Molecule object: m = mol.Molecule(atoms='H 0 0 0; Be 0 0 1', basis='cc-pvdz', spin=1) # Build the UHF object: uhf = hf.UHF(m) uhf.run() # Build the AGF2 object and run it for a few different settings: # Simple UAGF2(1,1) setup without damping: opts = dict(verbose=False, nmom=(1, 1), damping=0.0) gf2 = agf2.UAGF2(uhf, **opts) gf2.run() print('UAGF2(1,1): converged = %s iterations = %d E(corr) = %.12f' % (gf2.converged, gf2.iteration, gf2.e_corr)) # Tighten the Fock loop and increase to UAGF2(2,2): opts.update( dict(nmom=(2, 2), dtol=1e-10, diis_space=10, fock_maxiter=100, fock_maxruns=25)) gf2 = agf2.UAGF2(uhf, **opts) gf2.run()
def setUpClass(self): import warnings warnings.simplefilter('ignore', FutureWarning) self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0', basis='cc-pvdz') self.rhf = hf.RHF(self.m).run(conv_tol=1e-14) self.uhf = hf.UHF(self.m).run(conv_tol=1e-14)