Esempio n. 1
0
 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()
Esempio n. 2
0
 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
Esempio n. 3
0
 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
Esempio n. 4
0
 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
Esempio n. 5
0
 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
Esempio n. 6
0
 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
Esempio n. 7
0
 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
Esempio n. 8
0
 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)
Esempio n. 9
0
 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
Esempio n. 10
0
 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
Esempio n. 11
0
# 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()
Esempio n. 12
0
 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)