Example #1
0
 def test_nr_gks_b3lypg_direct(self):
     method = dft.GKS(h2o_cation)
     method.grids.prune = dft.gen_grid.treutler_prune
     method.xc = 'b3lypg'
     method.max_memory = 0
     method.direct_scf = True
     method.grids.atom_grid = {"H": (50, 194), "O": (50, 194),}
     self.assertAlmostEqual(method.scf(), -75.902391377392391, 9)
Example #2
0
 def test_nr_gks_lsda(self):
     method = dft.GKS(h2osym_cation)
     method.grids.prune = dft.gen_grid.treutler_prune
     method.grids.atom_grid = {
         "H": (50, 194),
         "O": (50, 194),
     }
     self.assertAlmostEqual(method.scf(), -75.350995324984709, 8)
Example #3
0
 def test_nr_gks_b3lypg(self):
     method = dft.GKS(h2osym_cation)
     method.xc = 'b3lypg'
     method.grids.prune = dft.gen_grid.treutler_prune
     method.grids.atom_grid = {
         "H": (50, 194),
         "O": (50, 194),
     }
     self.assertAlmostEqual(method.scf(), -75.902391377392391, 8)
Example #4
0
    def test_nr_gks_rsh(self):
        method = dft.GKS(h2o)
        dm = method.get_init_guess()
        dm = dm + numpy.sin(dm)*.02j
        dm = dm + dm.conj().T
        method.xc = 'wB97M_V'
        vxc = method.get_veff(h2o, dm)
        self.assertAlmostEqual(lib.finger(vxc), 3.1818982731583274+0j, 8)

        method._eri = None
        method.max_memory = 0
        method.xc = 'wB97M_V'
        vxc = method.get_veff(h2o, dm, dm, vxc)
        self.assertAlmostEqual(lib.finger(vxc), 3.1818982731583274+0j, 8)

        method.xc = 'B97M_V'
        vxc = method.get_veff(h2o, dm)
        self.assertAlmostEqual(lib.finger(vxc), 2.0131447223203565+0j, 8)

        method._eri = None
        method.max_memory = 0
        method.xc = 'B97M_V'
        vxc = method.get_veff(h2o, dm, dm, vxc)
        self.assertAlmostEqual(lib.finger(vxc), 2.0131447223203565+0j, 8)
Example #5
0
    def test_init(self):
        mol_r = h2o
        mol_u = gto.M(atom='Li', spin=1, verbose=0)
        mol_r1 = gto.M(atom='H', spin=1, verbose=0)
        sym_mol_r = h2osym
        sym_mol_u = gto.M(atom='Li', spin=1, symmetry=1, verbose=0)
        sym_mol_r1 = gto.M(atom='H', spin=1, symmetry=1, verbose=0)
        self.assertTrue(isinstance(dft.RKS(mol_r), dft.rks.RKS))
        self.assertTrue(isinstance(dft.RKS(mol_u), dft.roks.ROKS))
        self.assertTrue(isinstance(dft.UKS(mol_r), dft.uks.UKS))
        self.assertTrue(isinstance(dft.ROKS(mol_r), dft.roks.ROKS))
        self.assertTrue(isinstance(dft.GKS(mol_r), dft.gks.GKS))
        self.assertTrue(isinstance(dft.KS(mol_r), dft.rks.RKS))
        self.assertTrue(isinstance(dft.KS(mol_u), dft.uks.UKS))
        self.assertTrue(isinstance(dft.DKS(mol_u), dft.dks.UDKS))

        self.assertTrue(isinstance(mol_r.RKS(), dft.rks.RKS))
        self.assertTrue(isinstance(mol_u.RKS(), dft.roks.ROKS))
        self.assertTrue(isinstance(mol_r.UKS(), dft.uks.UKS))
        self.assertTrue(isinstance(mol_r.ROKS(), dft.roks.ROKS))
        self.assertTrue(isinstance(mol_r.GKS(), dft.gks.GKS))
        self.assertTrue(isinstance(mol_r.KS(), dft.rks.RKS))
        self.assertTrue(isinstance(mol_u.KS(), dft.uks.UKS))
        self.assertTrue(isinstance(mol_u.DKS(), dft.dks.UDKS))
Example #6
0
def GKS(mol, *args):
    from pyscf import dft
    return dft.GKS(mol, *args)
Example #7
0
'''

from pyscf import gto, dft

#
# 1. real GKS
#
mol = gto.M(
    atom='''
O        0.000000    0.000000    0.117790
H        0.000000    0.755453   -0.471161
H        0.000000   -0.755453   -0.471161''',
    basis='ccpvdz',
    charge=1,
    spin=1,  # = 2S = spin_up - spin_down
    verbose=4)

mf = dft.GKS(mol)
mf.xc = 'camb3lyp'
mf.kernel()

#
# 2. complex GKS
#
mf = dft.GKS(mol)
mf.xc = 'camb3lyp'
dm = mf.get_init_guess() + 0j
dm[0, :] += .1j
dm[:, 0] -= .1j
mf.kernel(dm0=dm)
Example #8
0
    def test_convert_to_scf(self):
        from pyscf.x2c import x2c
        from pyscf.df import df_jk
        from pyscf.soscf import newton_ah
        addons.convert_to_rhf(dft.RKS(mol))
        addons.convert_to_uhf(dft.RKS(mol))
        addons.convert_to_ghf(dft.RKS(mol))
        addons.convert_to_rhf(dft.UKS(mol))
        addons.convert_to_uhf(dft.UKS(mol))
        addons.convert_to_ghf(dft.UKS(mol))
        #addons.convert_to_rhf(dft.GKS(mol))
        #addons.convert_to_uhf(dft.GKS(mol))
        addons.convert_to_ghf(dft.GKS(mol))

        self.assertTrue(isinstance(addons.convert_to_rhf(mf), scf.rhf.RHF))
        self.assertTrue(isinstance(addons.convert_to_uhf(mf), scf.uhf.UHF))
        self.assertTrue(isinstance(addons.convert_to_ghf(mf), scf.ghf.GHF))
        self.assertTrue(
            isinstance(addons.convert_to_rhf(scf.UHF(mol)), scf.rhf.RHF))
        self.assertTrue(isinstance(addons.convert_to_rhf(mf_u), scf.rohf.ROHF))
        self.assertTrue(isinstance(addons.convert_to_uhf(mf_u), scf.uhf.UHF))
        self.assertTrue(isinstance(addons.convert_to_ghf(mf_u), scf.ghf.GHF))
        self.assertTrue(
            isinstance(addons.convert_to_rhf(sym_mf), scf.hf_symm.RHF))
        self.assertTrue(
            isinstance(addons.convert_to_uhf(sym_mf), scf.uhf_symm.UHF))
        self.assertTrue(
            isinstance(addons.convert_to_ghf(sym_mf), scf.ghf_symm.GHF))
        self.assertTrue(
            isinstance(addons.convert_to_rhf(sym_mf_u), scf.hf_symm.ROHF))
        self.assertTrue(
            isinstance(addons.convert_to_uhf(sym_mf_u), scf.uhf_symm.UHF))
        self.assertTrue(
            isinstance(addons.convert_to_ghf(sym_mf_u), scf.ghf_symm.GHF))

        mf1 = copy.copy(mf)
        self.assertTrue(isinstance(mf1.convert_from_(mf), scf.rhf.RHF))
        self.assertTrue(isinstance(mf1.convert_from_(mf_u), scf.rhf.RHF))
        self.assertFalse(isinstance(mf1.convert_from_(mf_u), scf.rohf.ROHF))
        self.assertTrue(isinstance(mf1.convert_from_(sym_mf), scf.rhf.RHF))
        self.assertTrue(isinstance(mf1.convert_from_(sym_mf_u), scf.rhf.RHF))
        self.assertFalse(isinstance(mf1.convert_from_(sym_mf_u),
                                    scf.rohf.ROHF))
        self.assertFalse(isinstance(mf1.convert_from_(sym_mf),
                                    scf.hf_symm.RHF))
        self.assertFalse(
            isinstance(mf1.convert_from_(sym_mf_u), scf.hf_symm.RHF))
        mf1 = copy.copy(mf_u)
        self.assertTrue(isinstance(mf1.convert_from_(mf), scf.uhf.UHF))
        self.assertTrue(isinstance(mf1.convert_from_(mf_u), scf.uhf.UHF))
        self.assertTrue(isinstance(mf1.convert_from_(sym_mf), scf.uhf.UHF))
        self.assertTrue(isinstance(mf1.convert_from_(sym_mf_u), scf.uhf.UHF))
        self.assertFalse(
            isinstance(mf1.convert_from_(sym_mf), scf.uhf_symm.UHF))
        self.assertFalse(
            isinstance(mf1.convert_from_(sym_mf_u), scf.uhf_symm.UHF))
        mf1 = scf.GHF(mol)
        self.assertTrue(isinstance(mf1.convert_from_(mf), scf.ghf.GHF))
        self.assertTrue(isinstance(mf1.convert_from_(mf_u), scf.ghf.GHF))
        self.assertTrue(isinstance(mf1.convert_from_(sym_mf), scf.ghf.GHF))
        self.assertTrue(isinstance(mf1.convert_from_(sym_mf_u), scf.ghf.GHF))
        self.assertFalse(
            isinstance(mf1.convert_from_(sym_mf), scf.ghf_symm.GHF))
        self.assertFalse(
            isinstance(mf1.convert_from_(sym_mf_u), scf.ghf_symm.GHF))

        self.assertTrue(
            isinstance(
                addons.convert_to_rhf(scf.RHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_uhf(scf.RHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_ghf(scf.RHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_rhf(scf.UHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_uhf(scf.UHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_ghf(scf.UHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        #self.assertTrue(isinstance(addons.convert_to_rhf(scf.GHF(mol).density_fit(), remove_df=False),df_jk. _DFHF))
        #self.assertTrue(isinstance(addons.convert_to_uhf(scf.GHF(mol).density_fit(), remove_df=False),df_jk. _DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_ghf(scf.GHF(mol).density_fit(),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(scf.RHF(mol).density_fit(),
                                      out=scf.RHF(mol),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(scf.RHF(mol).density_fit(),
                                      out=scf.UHF(mol),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.RHF(mol).density_fit(),
                                      out=scf.GHF(mol),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(scf.UHF(mol).density_fit(),
                                      out=scf.RHF(mol),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(scf.UHF(mol).density_fit(),
                                      out=scf.UHF(mol),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.UHF(mol).density_fit(),
                                      out=scf.GHF(mol),
                                      remove_df=False), df_jk._DFHF))
        #self.assertFalse(isinstance(addons.convert_to_rhf(scf.GHF(mol).density_fit(), out=scf.RHF(mol), remove_df=False),df_jk. _DFHF))
        #self.assertFalse(isinstance(addons.convert_to_uhf(scf.GHF(mol).density_fit(), out=scf.UHF(mol), remove_df=False),df_jk. _DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.GHF(mol).density_fit(),
                                      out=scf.GHF(mol),
                                      remove_df=False), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(scf.RHF(mol).density_fit(),
                                      out=scf.RHF(mol),
                                      remove_df=True), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(scf.RHF(mol).density_fit(),
                                      out=scf.UHF(mol),
                                      remove_df=True), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.RHF(mol).density_fit(),
                                      out=scf.GHF(mol),
                                      remove_df=True), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(scf.UHF(mol).density_fit(),
                                      out=scf.RHF(mol),
                                      remove_df=True), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(scf.UHF(mol).density_fit(),
                                      out=scf.UHF(mol),
                                      remove_df=True), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.UHF(mol).density_fit(),
                                      out=scf.GHF(mol),
                                      remove_df=True), df_jk._DFHF))
        #self.assertFalse(isinstance(addons.convert_to_rhf(scf.GHF(mol).density_fit(), out=scf.RHF(mol), remove_df=True),df_jk. _DFHF))
        #self.assertFalse(isinstance(addons.convert_to_uhf(scf.GHF(mol).density_fit(), out=scf.UHF(mol), remove_df=True),df_jk. _DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.GHF(mol).density_fit(),
                                      out=scf.GHF(mol),
                                      remove_df=True), df_jk._DFHF))

        addons.convert_to_rhf(scf.RHF(mol).x2c().density_fit())
        addons.convert_to_uhf(scf.RHF(mol).x2c().density_fit())
        addons.convert_to_ghf(scf.RHF(mol).x2c().density_fit())
        addons.convert_to_rhf(scf.UHF(mol).x2c().density_fit())
        addons.convert_to_uhf(scf.UHF(mol).x2c().density_fit())
        addons.convert_to_ghf(scf.UHF(mol).x2c().density_fit())
        #addons.convert_to_rhf(scf.GHF(mol).x2c().density_fit())
        #addons.convert_to_uhf(scf.GHF(mol).x2c().density_fit())
        addons.convert_to_ghf(scf.GHF(mol).x2c().density_fit())

        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(
                    scf.RHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(
                    scf.RHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(
                    scf.RHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))
        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(
                    scf.UHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(
                    scf.UHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(
                    scf.UHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))
        #self.assertFalse(isinstance(addons.convert_to_rhf(scf.GHF(mol).x2c().newton().density_fit()), newton_ah._CIAH_SOSCF))
        #self.assertFalse(isinstance(addons.convert_to_uhf(scf.GHF(mol).x2c().newton().density_fit()), newton_ah._CIAH_SOSCF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(
                    scf.GHF(mol).x2c().newton().density_fit()),
                newton_ah._CIAH_SOSCF))

        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(scf.RHF(mol).newton().density_fit()),
                df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(scf.RHF(mol).newton().density_fit()),
                df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.RHF(mol).newton().density_fit()),
                df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_rhf(scf.UHF(mol).newton().density_fit()),
                df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_uhf(scf.UHF(mol).newton().density_fit()),
                df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.UHF(mol).newton().density_fit()),
                df_jk._DFHF))
        #self.assertFalse(isinstance(addons.convert_to_rhf(scf.GHF(mol).newton().density_fit()), df_jk._DFHF))
        #self.assertFalse(isinstance(addons.convert_to_uhf(scf.GHF(mol).newton().density_fit()), df_jk._DFHF))
        self.assertFalse(
            isinstance(
                addons.convert_to_ghf(scf.GHF(mol).newton().density_fit()),
                df_jk._DFHF))

        self.assertTrue(
            isinstance(
                addons.convert_to_rhf(scf.RHF(mol).density_fit().newton()),
                df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_uhf(scf.RHF(mol).density_fit().newton()),
                df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_ghf(scf.RHF(mol).density_fit().newton()),
                df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_rhf(scf.UHF(mol).density_fit().newton()),
                df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_uhf(scf.UHF(mol).density_fit().newton()),
                df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_ghf(scf.UHF(mol).density_fit().newton()),
                df_jk._DFHF))
        #self.assertTrue(isinstance(addons.convert_to_rhf(scf.GHF(mol).density_fit().newton()), df_jk._DFHF))
        #self.assertTrue(isinstance(addons.convert_to_uhf(scf.GHF(mol).density_fit().newton()), df_jk._DFHF))
        self.assertTrue(
            isinstance(
                addons.convert_to_ghf(scf.GHF(mol).density_fit().newton()),
                df_jk._DFHF))
Example #9
0
 def test_mcol_mgga_ab_ks(self):
     mcol_m06l = dft.GKS(mol).set(xc='m06,', collinear='mcol')
     mcol_m06l._numint.spin_samples = 6
     mcol_m06l.__dict__.update(scf.chkfile.load(mf_lda.chkfile, 'scf'))
     self._check_against_ab_ks_complex(mcol_m06l.TDDFT(), -0.5215225316715016, 1.9444403387002533)
Example #10
0
 def test_mcol_gga_ab_ks(self):
     mcol_b3lyp = dft.GKS(mol).set(xc='b3lyp', collinear='mcol')
     mcol_b3lyp._numint.spin_samples = 6
     mcol_b3lyp.__dict__.update(scf.chkfile.load(mf_lda.chkfile, 'scf'))
     self._check_against_ab_ks_complex(mcol_b3lyp.TDDFT(), -0.49573245956851275, 0.4808293930369838)
Example #11
0
 def test_col_mgga_ab_ks(self):
     mf_m06l = dft.GKS(mol).set(xc='m06l')
     mf_m06l.__dict__.update(scf.chkfile.load(mf_lda.chkfile, 'scf'))
     self._check_against_ab_ks_real(tdscf.gks.TDDFT(mf_m06l), -0.49217076039995644, 0.14593146495412246)
Example #12
0
 def test_col_gga_ab_ks(self):
     mf_b3lyp = dft.GKS(mol).set(xc='b3lyp')
     mf_b3lyp.__dict__.update(scf.chkfile.load(mf_lda.chkfile, 'scf'))
     self._check_against_ab_ks_real(mf_b3lyp.TDDFT(), -0.47606715615564554, 0.1771403691719411)
Example #13
0
    def test_convert(self):
        rhf = scf.RHF(mol)
        uhf = scf.UHF(mol)
        ghf = scf.GHF(mol)
        rks = dft.RKS(mol)
        uks = dft.UKS(mol)
        gks = dft.GKS(mol)
        dhf = scf.DHF(mol)
        dks = dft.DKS(mol)
        udhf = scf.dhf.UDHF(mol)
        udks = dft.dks.UDKS(mol)

        self.assertTrue(isinstance(rhf.to_rhf(), scf.rhf.RHF))
        self.assertTrue(isinstance(rhf.to_uhf(), scf.uhf.UHF))
        self.assertTrue(isinstance(rhf.to_ghf(), scf.ghf.GHF))
        self.assertTrue(isinstance(rhf.to_rks(), dft.rks.RKS))
        self.assertTrue(isinstance(rhf.to_uks(), dft.uks.UKS))
        self.assertTrue(isinstance(rhf.to_gks(), dft.gks.GKS))

        self.assertTrue(isinstance(rks.to_rhf(), scf.rhf.RHF))
        self.assertTrue(isinstance(rks.to_uhf(), scf.uhf.UHF))
        self.assertTrue(isinstance(rks.to_ghf(), scf.ghf.GHF))
        self.assertTrue(isinstance(rks.to_rks('pbe'), dft.rks.RKS))
        self.assertTrue(isinstance(rks.to_uks('pbe'), dft.uks.UKS))
        self.assertTrue(isinstance(rks.to_gks('pbe'), dft.gks.GKS))

        self.assertTrue(isinstance(uhf.to_rhf(), scf.rhf.RHF))
        self.assertTrue(isinstance(uhf.to_uhf(), scf.uhf.UHF))
        self.assertTrue(isinstance(uhf.to_ghf(), scf.ghf.GHF))
        self.assertTrue(isinstance(uhf.to_rks(), dft.rks.RKS))
        self.assertTrue(isinstance(uhf.to_uks(), dft.uks.UKS))
        self.assertTrue(isinstance(uhf.to_gks(), dft.gks.GKS))

        self.assertTrue(isinstance(rks.to_rhf(), scf.rhf.RHF))
        self.assertTrue(isinstance(rks.to_uhf(), scf.uhf.UHF))
        self.assertTrue(isinstance(rks.to_ghf(), scf.ghf.GHF))
        self.assertTrue(isinstance(uks.to_rks('pbe'), dft.rks.RKS))
        self.assertTrue(isinstance(uks.to_uks('pbe'), dft.uks.UKS))
        self.assertTrue(isinstance(uks.to_gks('pbe'), dft.gks.GKS))

        #self.assertTrue(isinstance(ghf.to_rhf(), scf.rhf.RHF))
        #self.assertTrue(isinstance(ghf.to_uhf(), scf.uhf.UHF))
        self.assertTrue(isinstance(ghf.to_ghf(), scf.ghf.GHF))
        #self.assertTrue(isinstance(ghf.to_rks(), dft.rks.RKS))
        #self.assertTrue(isinstance(ghf.to_uks(), dft.uks.UKS))
        self.assertTrue(isinstance(ghf.to_gks(), dft.gks.GKS))

        #self.assertTrue(isinstance(gks.to_rhf(), scf.rhf.RHF))
        #self.assertTrue(isinstance(gks.to_uhf(), scf.uhf.UHF))
        self.assertTrue(isinstance(gks.to_ghf(), scf.ghf.GHF))
        #self.assertTrue(isinstance(gks.to_rks('pbe'), dft.rks.RKS))
        #self.assertTrue(isinstance(gks.to_uks('pbe'), dft.uks.UKS))
        self.assertTrue(isinstance(gks.to_gks('pbe'), dft.gks.GKS))

        self.assertRaises(RuntimeError, dhf.to_rhf)
        self.assertRaises(RuntimeError, dhf.to_uhf)
        self.assertRaises(RuntimeError, dhf.to_ghf)
        self.assertRaises(RuntimeError, dks.to_rks)
        self.assertRaises(RuntimeError, dks.to_uks)
        self.assertRaises(RuntimeError, dks.to_gks)

        if scf.dhf.zquatev is not None:
            self.assertTrue(isinstance(dhf.to_dhf(), scf.dhf.RDHF))
            self.assertTrue(isinstance(dhf.to_dks(), dft.dks.RDKS))
            self.assertTrue(isinstance(dks.to_dhf(), scf.dhf.RDHF))
            self.assertTrue(isinstance(dks.to_dks('pbe'), dft.dks.RDKS))
        self.assertTrue(isinstance(dhf.to_dhf(), scf.dhf.DHF))
        self.assertTrue(isinstance(dhf.to_dks(), dft.dks.DKS))
        self.assertTrue(isinstance(dks.to_dhf(), scf.dhf.DHF))
        self.assertTrue(isinstance(dks.to_dks('pbe'), dft.dks.DKS))
        self.assertTrue(isinstance(udhf.to_dhf(), scf.dhf.DHF))
        self.assertTrue(isinstance(udhf.to_dks(), dft.dks.DKS))
        self.assertTrue(isinstance(udks.to_dhf(), scf.dhf.DHF))
        self.assertTrue(isinstance(udks.to_dks('pbe'), dft.dks.DKS))