When making a one-shot GW calculation with contour deformation, I find that with gwcalctyp 09,
the renormalization factor used is 1.0000
Is that a bug? Is there any purpose in this?
And what is the difference anyway between gwcalctyp 02 and 09? It is not documented so well, and there is no automatic test with gwcalctyp 09 !
Here is an abipy input with silicium
Code: Select all
"""One-shot GW calculations on silicon."""
from abipy.htc import Launcher
calc = Launcher('02-si/calc')
calc.set_bindir('/Users/Antonius/Work/Software/abinit/7.2.2-private/build2/src/98_main/')
calc.set_pseudodir('/Users/Antonius/Work/Software/abinit/7.2.2-private/tests/Psps_for_tests/')
calc.set_pseudos('14si.pspnc')
# Bands
nband_occ = 4
nband_unocc = 12
nband_tot = nband_occ + nband_unocc
nband_buff = nband_tot / 10
nband_extra = nband_tot + nband_buff
groundstate = {
'tolvrs' : 1e-2,
'iscf' : 7,
'ixc' : 7,
'optforces' : 0,
'nband' : 3 * nband_occ,
'nbdbuf' : nband_occ,
'kptopt' : 1,
'ngkpt' : 3 * [2],
'nshiftk' : 4,
'shiftk' : [[0.5,0.5,0.5],
[0.5,0.0,0.0],
[0.0,0.5,0.0],
[0.0,0.0,0.5]],
}
wavefunctions = {
'iscf' : -2,
'getden' : -1,
'tolwfr' : 1e-2,
'nband' : nband_extra,
'nbdbuf' : nband_buff,
}
screening = {
'optdriver' : 3,
'irdwfk' : 1,
}
sigma = {
'optdriver' : 4,
'nkptgw' : 1,
'kptgw' : [0,0,0],
'bdgw' : [nband_occ-2, nband_occ+7],
'irdwfk' : 1,
'irdscr' : 1,
}
gw_options = {
'gwcalctyp' : '09',
'awtr' : 1,
'symchi' : 1,
'symsigma' : 0,
'gwpara' : 2,
'nfreqim' : 2,
'nfreqre' : 4,
'freqremax' : '40 eV',
}
ecut = 5.
planewaves = {
'ecut' : ecut,
'ecutwfn' : ecut,
'ecutsigx' : 2 * ecut,
'ecuteps' : 2.5,
'nband' : nband_tot,
}
kpoint_grid_unshifted = {
'kptopt' : 1,
'ngkpt' : 3 * [2],
'nshiftk' : 1,
'shiftk' : [0,0,0],
}
silicon_cell = {
'acell' : 3*[10.217],
'rprim' : [[0.0,0.5,0.5],
[0.5,0.0,0.5],
[0.5,0.5,0.0]],
'ntypat' : 1,
'znucl' : 14,
'natom' : 2,
'typat' : [1,1],
'xred' : [3*[0.0], 3*[0.25]]
}
options = {
'istwfk' : '*1',
'enunit' : 1,
'prtvol' : 10,
'npfft' : 1,
}
calc.ndtset = 4
calc.set_variables(groundstate, 1)
calc.set_variables(wavefunctions, 2)
calc.set_variables(screening, 3)
calc.set_variables(sigma, 4)
calc.set_variables(gw_options)
calc.set_variables(kpoint_grid_unshifted)
calc.set_variables(planewaves)
calc.set_variables(silicon_cell)
calc.set_variables(options)
calc.link_io(3, 2, 'wfk')
calc.link_io(4, 2, 'wfk')
calc.link_io(4, 3, 'scr')
calc.make()
calc.run()
print calc.report()