Beispiel #1
0
    def test_ncol_dks_lda_omega(self):
        mf = dks.UDKS(mol)
        mf.xc = 'lda + .2*HF'
        mf.collinear = 'ncol'
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -76.1457647524492, 8)

        mf = dks.UDKS(mol)
        mf.xc = 'lda + .2*HF'
        mf.collinear = 'ncol'
        mf.omega = .5
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.65261312636814, 8)
Beispiel #2
0
 def test_mcol_dks_mgga_high_cost(self):
     mf = dks.UDKS(mol)
     mf.xc = 'm06l'
     mf.collinear = 'mcol'
     mf._numint.spin_samples = 6
     eks4 = mf.kernel()
     self.assertAlmostEqual(eks4, -75.54644605761466, 8)
Beispiel #3
0
    def test_collinear_dks_lda(self):
        mf = dks.UDKS(mol)
        mf.xc = 'lda,vwn'
        mf.collinear = 'col'
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.02287138686222, 8)

        mf = mol1.DKS()
        mf.xc = 'lda,'
        mf.collinear = 'col'
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -74.00093287236554, 8)
Beispiel #4
0
    def test_collinear_dks_mgga(self):
        mf = dks.UDKS(mol)
        mf.xc = 'm06l'
        mf.collinear = 'col'
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.54644605761466, 8)

        mf = mol1.DKS()
        mf.xc = 'pbe'
        mf.collinear = 'col'
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.08263680935453, 8)
Beispiel #5
0
    def test_mcol_dks_lda(self):
        mf = dks.UDKS(mol)
        mf.xc = 'lda,vwn'
        mf.collinear = 'mcol'
        mf._numint.spin_samples = 6
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.02287138686222, 8)

        mf = mol1.DKS()
        mf.xc = 'lda,'
        mf.collinear = 'mcol'
        mf._numint.spin_samples = 6
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -74.00137998066057, 8)
Beispiel #6
0
    def test_mcol_dks_gga_high_cost(self):
        mf = dks.UDKS(mol)
        mf.xc = 'pbe'
        mf.collinear = 'mcol'
        mf._numint.spin_samples = 6
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.49000045638684, 8)

        mf = mol1.DKS()
        mf.xc = 'pbe'
        mf.collinear = 'mcol'
        mf._numint.spin_samples = 6
        eks4 = mf.kernel()
        self.assertAlmostEqual(eks4, -75.08323754335314, 8)
Beispiel #7
0
def DKS(mol, xc='LDA,VWN'):
    from pyscf.scf import dhf
    if dhf.zquatev and mol.spin == 0:
        return dks.RDKS(mol, xc=xc)
    else:
        return dks.UDKS(mol, xc=xc)
Beispiel #8
0
 def test_collinear_x2c_uks_gga(self):
     mf = dks.UDKS(mol).x2c()
     mf.xc = 'pbe'
     mf.collinear = 'col'
     eks4 = mf.kernel()
     self.assertAlmostEqual(eks4, -75.48678822885732, 8)
Beispiel #9
0
 def test_ncol_x2c_uks_lda(self):
     mf = dks.UDKS(mol).x2c()
     mf.xc = 'lda,'
     mf.collinear = 'ncol'
     eks4 = mf.kernel()
     self.assertAlmostEqual(eks4, -74.35294598734184, 8)
Beispiel #10
0
 def test_collinear_dks_gga(self):
     mf = dks.UDKS(mol)
     mf.xc = 'pbe'
     mf.collinear = 'col'
     eks4 = mf.kernel()
     self.assertAlmostEqual(eks4, -75.49000045638684, 8)