vayesta.core.scmf

Submodules

vayesta.core.scmf.brueckner

class vayesta.core.scmf.brueckner.Brueckner_RHF(*args, diis_obj='dm1', **kwargs)[source]

Bases: SCMF

name = 'Brueckner'
get_t1()[source]

Get global T1 amplitudes from quantum embedding calculation.

update_mo_coeff(mo_coeff, mo_occ, diis=None, t1=None, mo_orig=None)[source]

Get new MO coefficients.

check_convergence(e_tot, dm1, e_last=None, dm1_last=None, etol=None, dtol=None)
property e_tot
property e_tot_oneshot
get_diis()
kernel(*args, **kwargs)
property kernel_orig

Original kernel of embedding method.

property log
property mf
class vayesta.core.scmf.brueckner.Brueckner_UHF(*args, diis_obj='dm1', **kwargs)[source]

Bases: Brueckner_RHF

get_diis()[source]

Two separate DIIS objects for alpha and beta orbitals.

update_mo_coeff(mo_coeff, mo_occ, diis=None, t1=None, mo_orig=None)[source]

Get new MO coefficients.

check_convergence(e_tot, dm1, e_last=None, dm1_last=None, etol=None, dtol=None)
property e_tot
property e_tot_oneshot
get_t1()

Get global T1 amplitudes from quantum embedding calculation.

kernel(*args, **kwargs)
property kernel_orig

Original kernel of embedding method.

property log
property mf
name = 'Brueckner'

vayesta.core.scmf.pdmet

class vayesta.core.scmf.pdmet.PDMET_RHF(*args, dm_type='default', **kwargs)[source]

Bases: SCMF

name = 'p-DMET'
get_rdm1()[source]

DM1 in MO basis.

update_mo_coeff(mo_coeff, mo_occ, diis=None, dm1=None, mo_orig=None)[source]

Get new set of MO coefficients.

Must be implemented for any SCMF method.

check_convergence(e_tot, dm1, e_last=None, dm1_last=None, etol=None, dtol=None)
property e_tot
property e_tot_oneshot
get_diis()
kernel(*args, **kwargs)
property kernel_orig

Original kernel of embedding method.

property log
property mf
class vayesta.core.scmf.pdmet.PDMET_UHF(*args, dm_type='default', **kwargs)[source]

Bases: PDMET_RHF

get_diis()[source]

Two separate DIIS objects for alpha and beta orbitals.

get_rdm1()[source]

DM1 in MO basis.

update_mo_coeff(mo_coeff, mo_occ, diis=None, dm1=None, mo_orig=None)[source]

Get new set of MO coefficients.

Must be implemented for any SCMF method.

check_convergence(e_tot, dm1, e_last=None, dm1_last=None, etol=None, dtol=None)
property e_tot
property e_tot_oneshot
kernel(*args, **kwargs)
property kernel_orig

Original kernel of embedding method.

property log
property mf
name = 'p-DMET'

vayesta.core.scmf.qpewdmet

class vayesta.core.scmf.qpewdmet.QPEWDMET_RHF(emb, proj=2, static_potential_conv_tol=1e-05, global_static_potential=True, eta=0.01, damping=0, sc=True, aux_shift=False, aux_shift_frag=False, store_hist=True, store_scfs=False, use_sym=False, static_potential_init=None, se_degen_tol=1e-06, se_eval_tol=1e-06, drop_non_causal=False, *args, **kwargs)[source]

Bases: SCMF

Quasi-particle self-consistent energy weighted density matrix embedding

name = 'QP-EWDMET'
update_mo_coeff(mo_coeff, mo_occ, diis=None)[source]

Get new MO coefficients for a SCMF iteration.

TODO: Should GF and SE be stored in AO basis since the MO basis may change between iterations?

Parameters:
  • mf (PySCF compatible SCF object) – Mean-field object.

  • diis (pyscf.lib.diis.DIIS object, optional) – DIIS object.

Returns:

mo_coeff – New MO coefficients.

Return type:

ndarray

fock_scf(v)[source]

Relax density in presence of new static potential

Parameters:

v (ndarray) – Static potential

Returns:

mo_coeff – New MO coefficients.

Return type:

ndarray

check_convergence(e_tot, dm1, e_last=None, dm1_last=None, etol=None, dtol=None)[source]
get_greens_function()[source]

Calculate the dynamic and static Green’s function in the Lehmann representation

Returns:

  • gf (Lehmann) – Dynamic Green’s function from Block Lanczos

  • gf_qp (Lehmann) – Static Green’s function from Fock matrix + Klein potential

property e_tot
property e_tot_oneshot
get_diis()
kernel(*args, **kwargs)
property kernel_orig

Original kernel of embedding method.

property log
property mf

vayesta.core.scmf.scmf

Self-consistent mean-field decorators

class vayesta.core.scmf.scmf.SCMF(emb, etol=1e-08, dtol=1e-06, maxiter=100, damping=0.0, diis=True, diis_space=6, diis_min_space=1)[source]

Bases: object

name = 'SCMF'
property log
property mf
property e_tot
property e_tot_oneshot
get_diis()[source]
property kernel_orig

Original kernel of embedding method.

update_mo_coeff(mo_coeff, mo_occ, diis=None)[source]

Get new set of MO coefficients.

Must be implemented for any SCMF method.

check_convergence(e_tot, dm1, e_last=None, dm1_last=None, etol=None, dtol=None)[source]
kernel(*args, **kwargs)[source]

Module contents

vayesta.core.scmf.PDMET(emb, *args, **kwargs)[source]
vayesta.core.scmf.Brueckner(emb, *args, **kwargs)[source]
vayesta.core.scmf.QPEWDMET(emb, *args, **kwargs)[source]