fcdmft.gw.pbc.krqsgw module#

Periodic 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. Gaussian density fitting must be used (FFTDF and MDF are not supported).

  1. Lei and T. Zhu. J. Chem. Phys. 157, 214114 (2022)

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.pbc.krqsgw.KRQSGW(mf, frozen=None)[source]#

Bases: KRGWAC

Attributes:
nmo
nocc

Methods

__call__(*args, **kwargs)

Update the attributes of the current object.

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

dump_chk()

Dump qsGW check files to disk.

kernel()

Run qsGW calculation.

make_gf(omega, eta)

Get qsGW Green's function.

make_rdm1([ao_repr])

Get GW density matrix from Green's function G(it=0).

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.

set_frozen_orbs()

Set .frozen attribute from frozen mask.

view(cls)

New view of object with the same attributes.

dump_flags

dump_chk()[source]#

Dump qsGW check files to disk.

dump_flags()[source]#
kernel()[source]#

Run qsGW calculation.

make_gf(omega, eta)#

Get qsGW Green’s function. G = G0 + G0 (sigma - vc) G, where G0 is non-interacting Green’s function evaluated at quasiparticle energy, vc is the static correlation self-energy. TODO: this definition might be incorrect, because it doesn’t consider the change in hcore and J.

Parameters:
gwKRQSGW

GW object, provides attributes: mo_energy, mo_coeff, ef, ac_coeff, omega_fit, vsig

omegadouble or complex array

frequency grids

etadouble

broadening parameter

Returns:
gfcomplex ndarray

qsGW Green’s function

make_rdm1(ao_repr=False)#

Get GW density matrix from Green’s function G(it=0). G is from Dyson equation G = G0 + G0 Sigma G

Parameters:
gwKRQSGW

GW object, provides attributes: mo_energy, mo_coeff, vsig, sigmaI, _scf, mol

ao_reprbool, optional

return density matrix in AO, by default False

Returns:
rdm1double ndarray

density matrix

set_frozen_orbs()#

Set .frozen attribute from frozen mask.

Parameters:
gwKRGWAC

unrestricted GW object

fcdmft.gw.pbc.krqsgw.kernel(gw)[source]#
fcdmft.gw.pbc.krqsgw.make_gf(gw, omega, eta)[source]#

Get qsGW Green’s function. G = G0 + G0 (sigma - vc) G, where G0 is non-interacting Green’s function evaluated at quasiparticle energy, vc is the static correlation self-energy. TODO: this definition might be incorrect, because it doesn’t consider the change in hcore and J.

Parameters:
gwKRQSGW

GW object, provides attributes: mo_energy, mo_coeff, ef, ac_coeff, omega_fit, vsig

omegadouble or complex array

frequency grids

etadouble

broadening parameter

Returns:
gfcomplex ndarray

qsGW Green’s function

fcdmft.gw.pbc.krqsgw.make_rdm1_dyson(gw, ao_repr=False)[source]#

Get GW density matrix from Green’s function G(it=0). G is from Dyson equation G = G0 + G0 Sigma G

Parameters:
gwKRQSGW

GW object, provides attributes: mo_energy, mo_coeff, vsig, sigmaI, _scf, mol

ao_reprbool, optional

return density matrix in AO, by default False

Returns:
rdm1double ndarray

density matrix