fcdmft.gw.mol.uqsgw module#

Spin-unrestricted 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.uqsgw.UQSGW(mf, frozen=None, auxbasis=None)[source]#

Bases: UGWAC

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()

Compute GW total energy according to Galitskii-Migdal formula.

get_ef([mo_energy])

Get Fermi level.

get_frozen_mask()

Get boolean mask for the unrestricted reference orbitals.

get_sigma_exchange(mo_coeff)

Get exchange self-energy (EXX).

initialize_df([auxbasis])

Initialize density fitting.

kernel()

Run a spin-unrestricted quasiparticle self-consistent GW calculation.

loop_ao2mo([mo_coeff, spin, ijslicea, ijsliceb])

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

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]#
kernel()[source]#

Run a spin-unrestricted 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, by default 0.0

modestr, one of dyson or linear

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

Returns:
gf: complex 4d array

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

gf0complex 4d array

non-interacting Green’s function.

sigmacomplex 4d 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

Parameters:
ao_reprbool, optional

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

modestr, optional

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

Returns
——-
rdm1double 3d array

one-particle density matrix

fcdmft.gw.mol.uqsgw.kernel(gw)[source]#