Exemple #1
0
 def DFCASCI(mf, ncas, nelecas, auxbasis=None, **kwargs):
     mf = _convert_to_rhf(mf, False)
     if mf.mol.symmetry:
         mc = casci_symm.CASCI(mf, ncas, nelecas, **kwargs)
     else:
         mc = casci.CASCI(mf, ncas, nelecas, **kwargs)
     return df.density_fit(mc, auxbasis)
Exemple #2
0
 def DFCASCI(mf, ncas, nelecas, auxbasis=None, **kwargs):
     from pyscf import scf
     mf = scf.addons.convert_to_rhf(mf, convert_df=False)
     if mf.mol.symmetry:
         mc = casci_symm.CASCI(mf, ncas, nelecas, **kwargs)
     else:
         mc = casci.CASCI(mf, ncas, nelecas, **kwargs)
     return df.density_fit(mc, auxbasis)
Exemple #3
0
def DFCASCI(mf_or_mol, ncas, nelecas, auxbasis=None, ncore=None):
    from pyscf import gto
    from pyscf import scf
    if isinstance(mf_or_mol, gto.Mole):
        mf = scf.RHF(mf_or_mol).density_fit()
    else:
        mf = mf_or_mol

    if isinstance(mf, scf.uhf.UHF):
        mf = scf.addons.convert_to_rhf(mf, remove_df=False)

    if mf.mol.symmetry:
        mc = casci_symm.CASCI(mf, ncas, nelecas, ncore)
    else:
        mc = casci.CASCI(mf, ncas, nelecas, ncore)
    return df.density_fit(mc, auxbasis)
Exemple #4
0
def CASCI(mf, ncas, nelecas, **kwargs):
    from pyscf import gto
    if isinstance(mf, gto.Mole):
        raise RuntimeError('''
You see this error message because of the API updates in pyscf v0.10.
In the new API, the first argument of CASSCF/CASCI class is HF objects.  e.g.
        mc = mcscf.CASCI(mf, norb, nelec)
Please see   http://sunqm.net/pyscf/code-rule.html#api-rules   for the details
of API conventions''')

    mf = _convert_to_rhf(mf)
    if mf.mol.symmetry:
        mc = casci_symm.CASCI(mf, ncas, nelecas, **kwargs)
    else:
        mc = casci.CASCI(mf, ncas, nelecas, **kwargs)
    return mc
Exemple #5
0
def CASCI(mf_or_mol, ncas, nelecas, ncore=None):
    from pyscf import gto
    from pyscf import scf
    if isinstance(mf_or_mol, gto.Mole):
        mf = scf.RHF(mf_or_mol)
    else:
        mf = mf_or_mol

    if isinstance(mf, scf.uhf.UHF):
        mf = scf.addons.convert_to_rhf(mf)

    if getattr(mf, 'with_df', None):
        return DFCASCI(mf, ncas, nelecas, ncore)

    if mf.mol.symmetry:
        mc = casci_symm.CASCI(mf, ncas, nelecas, ncore)
    else:
        mc = casci.CASCI(mf, ncas, nelecas, ncore)
    return mc