fcdmft.gw.mol.scgw module#

fcdmft.gw.mol.scgw.FT_test_bosonic(gw, m_w, message)[source]#

Test accuracy of Fourier transform for Bosonic functions. Grids need to be in the last dimension. See equation 4 and 6 in 10.1103/PhysRevB.94.165109. Typical error magnitudes: 1 cycle ~ 1.0e-6 5 cycles ~ 1.0e-5 10 cycles ~ 1.0e-3

Parameters:
gwSCGW

gw object

m_wdouble 3d array

Bosonic function on positive imaginary frequency

messagestr

message to print

Returns:
first_cycle_errordouble

error in first Fourier transform cycle

fcdmft.gw.mol.scgw.FT_test_fermionic(gw, m_w, message)[source]#

Test accuracy of Fourier transform for Fermionic functions. Grids need to be in the last dimension. Frequency to time: equation 13 and 14 in 10.1103/PhysRevB.98.155143. Time to frequency: equation 67-71 in 10.1103/PhysRevB.94.165109. Typical error magnitudes: 1 cycle ~ 1.0e-6 5 cycles ~ 1.0e-4 10 cycles ~ 1.0e-1

Parameters:
gwSCGW

gw object

m_wcomplex 3d array

Fermionic function on positive imaginary frequency

messagestr

message to print

Returns:
first_cycle_errordouble

error in first Fourier transform cycle

class fcdmft.gw.mol.scgw.SCGW(mf, auxbasis=None)[source]#

Bases: GWSpaceTime

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

A wrapper to get GW total energy calculated in kernel.

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([mo_energy, mo_coeff, Lpq_ao])

Do a fully 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 G0W0 Green's function by AC fitting.

make_rdm1([ao_repr])

A wrapper to get GW density matrix calculated in kernel.

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.

shift_sigma(w[, E_min_scale, E_max_scale])

NOTE: experimental function.

view(cls)

New view of object with the same attributes.

dump_flags

get_nmo

get_nocc

dump_flags(verbose=None)[source]#
energy_tot()[source]#

A wrapper to get GW total energy calculated in kernel.

Returns:
e_totdouble

GW total energy

e_hfdouble

HF total energy

e_cdouble

GW correlation energy

kernel(mo_energy=None, mo_coeff=None, Lpq_ao=None)[source]#

Do a fully self-consistent GW calculation. Minimax grids were taken from CP2K, see Refs.[1,2] Fourier transform see Refs.[1,3] scGW workflow see Ref.[4]

Reference [1] 10.1103/PhysRevB.101.205145 [2] 10.1103/PhysRevB.109.245101 [3] 10.1103/PhysRevB.94.165109 [4] 10.1103/PhysRevB.98.155143

Parameters:
mo_energydouble 1d array, optional

orbital energy, by default None

mo_coeffdouble 2d array, optional

coefficient from AO to MO, by default None

Lpq_aodouble 3d array, optional

3-center density-fitting matrix in AO space, by default None

make_rdm1(ao_repr=False)[source]#

A wrapper to get GW density matrix calculated in kernel.

Parameters:
ao_reprbool, optional

return density matrix in AO, by default False

Returns:
rdm1double 2d array

one-particle density matrix

fcdmft.gw.mol.scgw.kernel(gw, Lpq_ao=None)[source]#

run full self-consistent GW calculation.

Args:

gw (fcdmft.gw.mol.scgw.scGW): scGW object