fcdmft.gw.mol.qsgw module#

Spin-restricted Quasiparticle Self-consistent GW based on the GW-AC (analytic continuation) scheme

Method:

T. Zhu and G.K.-L. Chan, J. Chem. Theory. Comput. 17, 727-741 (2021) Compute self-energy on imaginary frequency with density fitting, then analytically continued to real frequency

Other useful references:

Phys. Rev. B 76, 165106 (2007) Front. Chem. 9:736591 (2021) J. Chem. Theory. Comput. 12, 2528-2541 (2016)

class fcdmft.gw.mol.qsgw.QSGW(mf, frozen=None, auxbasis=None)[source]#

Bases: GWAC

Attributes:
nmo
nocc

Methods

__call__(*args, **kwargs)

Update the attributes of the current object.

ao2mo([mo_coeff])

Transform density-fitting integral from AO to MO.

apply(fn, *args, **kwargs)

Apply the fn to rest arguments: return fn(*args, **kwargs). The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.

check_sanity()

Check input of class/object attributes, check whether a class method is overwritten.

copy()

Returns a shallow copy

energy_tot([mode])

"Get qsGW total energy using Galitskii-Migdal formula.

get_ef([mo_energy])

Get Fermi level.

get_frozen_mask()

Get boolean mask for the restricted reference orbitals.

get_sigma_exchange(mo_coeff)

Get exchange self-energy (EXX).

initialize_df([auxbasis])

Initialize density fitting.

kernel()

Run a quasiparticle self-consistent GW calculation.

loop_ao2mo([mo_coeff, ijslice])

Transform density-fitting integral from AO to MO by block.

make_gf(omega[, eta, mode])

Get qsGW Green's function by AC fitting.

make_rdm1([ao_repr, mode])

make qsGW 1-particle density matrix in either MO or AO space

post_kernel(envs)

A hook to be run after the main body of the kernel function.

pre_kernel(envs)

A hook to be run before the main body of kernel function is executed.

run(*args, **kwargs)

Call the kernel function of current object.

set(*args, **kwargs)

Update the attributes of the current object.

setup_evaluation_grid([fallback_freqs, ...])

Set up self-energy grid, aka freqs2, aka gw.freqs.

view(cls)

New view of object with the same attributes.

dump_chk

dump_flags

get_nmo

get_nocc

dump_chk()[source]#
dump_flags()[source]#
energy_tot(mode='dyson')[source]#

“Get qsGW total energy using Galitskii-Migdal formula. V. M. Galitskii and A. B. Migdal, Zh. E ksp. Teor. Fiz. 34, 139~1958! @Sov. Phys. JETP 139, 96 ~1958!# working equation: equation.A5 in Phys. Rev. B 88, 075105

Hartree-Fock energy is evaluated with qsGW density matrix. G = [G0^-1 - sigma]^-1 where G0 = [w - Fock]^-1 and sigma = sigma_c + (ham_qp - ham_mf) = sigma_c + 1e correction

Parameters mode : str

mode for Dyson equation, ‘linear’ or ‘dyson’, by default ‘dyson’


Returns:
etotdouble

total energy

ehfdouble

Hartree-Fock energy

ecdouble

correlation energy

kernel()[source]#

Run a quasiparticle self-consistent GW calculation.

make_gf(omega, eta=0.0, mode='dyson')[source]#

Get qsGW Green’s function by AC fitting.

Parameters:
omegacomplex 1d array

frequency on which to evaluate the Green’s function

etadouble, optional

broadening parameter. Defaults to 0.

modestr, one of dyson or linear

mode for Dyson equation, ‘linear’ or ‘dyson’, by default ‘dyson’

Returns:
gf: complex 3d array

qsGW Green’s function in mean-field MO space.

gf0complex 3d array

non-interacting Green’s function.

sigmacomplex 3d array

self-energy (including 1e correction) in mean-field MO space.

make_rdm1(ao_repr=False, mode='dyson')[source]#

make qsGW 1-particle density matrix in either MO or AO space

Parameters:
ao_reprbool, optional

return dm in AO space instead of MO space, by default False

modestr

mode for Dyson equation, ‘linear’ or ‘dyson’, by default ‘dyson’

Returns
——-
rdm1double 2d array

one-particle density matrix

fcdmft.gw.mol.qsgw.kernel(gw)[source]#
fcdmft.gw.mol.qsgw.qs_sigmaR_mode_a(qp_energy, acobj)[source]#

Mode A to evaluate static qsGW self-energy. Equation 15 in doi.org/10.1063/5.0125756 Equation 10 in doi.org/10.1103/PhysRevB.76.165106

Parameters:
qp_energydouble array

quasiparticle energy

acobjfcdmft.ac.interface.AC_method

analytical continuation object

Returns:
sigmaR: double ndarray

full static correlation self-energy matrix

fcdmft.gw.mol.qsgw.qs_sigmaR_mode_b(qp_energy, acobj, ef)[source]#

Mode B to evaluate static qsGW self-energy. Equation 16 in doi.org/10.1063/5.0125756 Equation 11 in doi.org/10.1103/PhysRevB.76.165106

Parameters:
qp_energydouble array

quasiparticle energy

acobjfcdmft.ac.interface.AC_method

analytical continuation object

efdouble

Fermi level

Returns:
sigmaR: double ndarray

full static correlation self-energy matrix