示例#1
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.rhf_df = hf.RHF(self.m, auxbasis='aug-cc-pvqz-ri', with_df=True).run()
     self.e_mp2 = -0.041920665444464156
示例#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.rhf = hf.RHF(self.m).run()
     self.e_mp2 = -0.04191336686656655
示例#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.rhf_df = hf.RHF(self.m, with_df=True).run()
示例#4
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
示例#5
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
示例#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='cc-pvdz')
     self.rhf = hf.RHF(self.m).run()
     self.e_mp2 = -0.20905684700662164
     self.e_mp2_scs = -0.20503556854447708
示例#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='sto-3g')
     self.rhf = hf.RHF(self.m).run()
     self.fock = self.rhf.fock_mo
     self.se = aux.build_rmp2(self.rhf.e, self.rhf.eri_mo, chempot=self.rhf.chempot) #FIXME remove test dependency?
     self.imfq = grids.ImFqGrid(2**5, beta=2**3)
示例#8
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
示例#9
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.se = aux.build_rmp2(self.rhf.e,
                              self.rhf.eri_mo,
                              chempot=self.rhf.chempot)
     self.fock = self.rhf.fock_mo
示例#10
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.gf2 = agf2.RAGF2(self.rhf, nmom=(2, 3), verbose=False,
                           maxiter=3).run()
     self.se = self.gf2.se
     self.fock = self.gf2.get_fock()
示例#11
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.se = aux.build_rmp2(self.rhf.e,
                              self.rhf.eri_mo,
                              chempot=self.rhf.chempot)
     self.imfq = grids.ImFqGrid(2**5, beta=2**3)
     self.refq = grids.ReFqGrid(2**5, minpt=-5, maxpt=5, eta=0.01)
     self.imqd = grids.ImFqQuad(2**5, beta=2**3, lamb=0.01)
示例#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()
     self.se = aux.build_rmp2(self.rhf.e,
                              self.rhf.eri_mo,
                              chempot=self.rhf.chempot)
     self.fock = self.rhf.fock_mo
     self.se = self.se.se_compress(self.fock, nmom=10)
     self.w, self.v = self.se.eig(self.fock)
     self.gf = self.se.new(self.w, self.v[:self.rhf.nao])
示例#13
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.rhf_df = hf.RHF(self.m, with_df=True).run()
     self.eri = self.rhf.eri_mo
     self.eri_df = self.rhf_df.eri_mo
     self.se = aux.build_rmp2(self.rhf_df.e,
                              util.einsum('qij,qkl->ijkl', self.eri_df,
                                          self.eri_df),
                              chempot=self.rhf_df.chempot,
                              wtol=0)
     self.e_mp2 = -0.20905684700662164
     self.e_mp2_scs = -0.20503556854447708
示例#14
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
示例#15
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
示例#16
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()
示例#17
0
# Runs some SCS-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; Li 0 0 1.64', basis='cc-pvdz')

# Build the UHF object:
uhf = hf.UHF(m)
uhf.run()

# Build the AGF2 object and run it with SCS scaling factors
opts = dict(verbose=False, nmom=(4,4), damping=0.0, os_factor=6/5, ss_factor=1/3)
gf2 = agf2.UAGF2(uhf, **opts)
gf2.run()
print('SCS-UAGF2(4,4): converged = %s  iterations = %d  E(corr) = %.12f' % (gf2.converged, gf2.iteration, gf2.e_corr))


print('time elapsed: %d min %.4f s' % (timer.total() // 60, timer.total() % 60))
示例#18
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')
示例#19
0
 def setUpClass(self):
     import warnings
     self.m = mol.Molecule(atoms='O 0 0 0; H 0 0 1; H 0 1 0',
                           basis='cc-pvdz')
示例#20
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)