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