mirror of https://github.com/abinit/abinit.git
196 lines
7.2 KiB
Plaintext
196 lines
7.2 KiB
Plaintext
# Hybrid functional calculation for C in the diamond structure
|
|
# in a self-consistent approach
|
|
# Dataset 1: ground state calculation with WFK output
|
|
# Dataset 2-6: calculation of five iterations of PBE0-1/3 in the Kohn-Sham basis
|
|
# Dataset 7: PBE0-1/3 calculation in the planewave basis set
|
|
# Dataset 8-13: G0W0 calculations, on top of GGA, PBE0-1/3 (Kohn-Sham) and PBE0-1/3 (planewaves).
|
|
#
|
|
ndtset 13
|
|
gwpara 2
|
|
enunit 1
|
|
gw_qprange -14 # Compute correction for all the bands
|
|
#gw_qprange -30 # Compute correction for all the bands
|
|
prtvol 2
|
|
symsigma 0
|
|
|
|
# Dataset1: usual self-consistent ground-state calculation
|
|
# Definition of the k-point grid
|
|
ngkpt 2 2 2
|
|
nshiftk 4
|
|
shiftk 0.0 0.0 0.0 # This grid contains the Gamma point
|
|
0.0 0.5 0.5
|
|
0.5 0.0 0.5
|
|
0.5 0.5 0.0
|
|
tolvrs 1.0d-15
|
|
nband 14
|
|
#nband 30
|
|
istwfk *1 # Option needed for Gamma
|
|
|
|
getwfk1 0
|
|
|
|
# Common to most hybrid/GW calculations
|
|
getwfk 1 # Obtain WFK file from dataset 1
|
|
ecutwfn 8 # Planewaves to be used to represent the wavefunctions
|
|
#ecutwfn 20 # Planewaves to be used to represent the wavefunctions
|
|
ecutsigx 8 # Planewaves to be used to represent the exchange operator
|
|
#ecutsigx 40 # Planewaves to be used to represent the exchange operator
|
|
ecuteps 2
|
|
gwcalctyp 25
|
|
getqps -1
|
|
ixc_sigma 42
|
|
pawecutdg 40
|
|
|
|
# Dataset2: Calculation of the 1st PBE0-1/3 iteration
|
|
optdriver2 4
|
|
gw_icutcoul2 0 # Will use the spherical average
|
|
rcut2 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
|
|
# Dataset3: Calculation of the 2nd PBE0-1/3 iteration
|
|
optdriver3 4
|
|
getqps3 -1
|
|
gw_icutcoul3 0 # Will use the spherical average
|
|
rcut3 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
# Dataset4: Calculation of the 3rd PBE0-1/3 iteration
|
|
optdriver4 4
|
|
getqps4 -1
|
|
gw_icutcoul4 0 # Will use the spherical average
|
|
rcut4 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
# Dataset5: Calculation of the 4th PBE0-1/3 iteration
|
|
optdriver5 4
|
|
getqps5 -1
|
|
gw_icutcoul5 0 # Will use the spherical average
|
|
rcut5 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
# Dataset6: Calculation of the 5th PBE0-1/3 iteration
|
|
optdriver6 4
|
|
getqps6 -1
|
|
gw_icutcoul6 0 # Will use the spherical average
|
|
rcut6 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
|
|
# Dataset7: PBE0-1/3 stand alone calculation
|
|
getwfk7 1
|
|
ixc7 42
|
|
|
|
# Dataset8: Computation of the dielectric matrix on top of scGGA in the PW basis
|
|
optdriver8 3
|
|
gwcalctyp8 0
|
|
|
|
# Dataset9: One-shot G0W0 on top of scGGA in the Kohn-Sham basis
|
|
optdriver9 4
|
|
gwcalctyp9 0
|
|
getscr9 -1
|
|
gw_qprange9 0
|
|
gw_icutcoul9 0 # Will use the spherical average
|
|
rcut9 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
|
|
# Dataset10: Computation of the dielectric matrix on top of scPBE0-1/3 in the Kohn-Sham basis
|
|
optdriver10 3
|
|
gwcalctyp10 20
|
|
getqps10 6
|
|
|
|
# Dataset11: One-shot G0W0 on top of scPBE0-1/3 in the Kohn-Sham basis
|
|
# (note however that all the bands and k points are considered, in orer to perform the correct rotation).
|
|
optdriver11 4
|
|
gwcalctyp11 20
|
|
getqps11 6
|
|
getscr11 -1
|
|
gw_icutcoul11 0 # Will use the spherical average
|
|
rcut11 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
# Dataset12: Computation of the dielectric matrix on top of scPBE0-1/3 in the planewave basis
|
|
optdriver12 3
|
|
getwfk12 7
|
|
gwcalctyp12 20
|
|
getqps12 0
|
|
|
|
# Dataset13: One-shot G0W0 on top of scPBE0-1/3 in the planewave basis
|
|
optdriver13 4
|
|
ixc13 42 #One should not forget to mention than the starting functional is NOT the one of the pseudopotential ...
|
|
getwfk13 7
|
|
gwcalctyp13 0
|
|
getqps13 0
|
|
getscr13 -1
|
|
gw_qprange13 0
|
|
gw_icutcoul13 0 # Will use the spherical average
|
|
rcut13 -1.0d0 # A negative number actually activates the computation of rcut using the Spencer-Alavi value
|
|
|
|
|
|
# Definition of the unit cell: fcc
|
|
acell 3*6.7406530878521345 #Same parameters as Shiskin
|
|
rprim 0.0 0.5 0.5 #FCC primitive vectors (to be scaled by acell)
|
|
0.5 0.0 0.5
|
|
0.5 0.5 0.0
|
|
|
|
# Definition of the atom types
|
|
ntypat 1
|
|
znucl 6
|
|
|
|
# Definition of the atoms
|
|
natom 2 # There are two atoms
|
|
typat 1 1
|
|
xred # Reduced coordinate of atoms
|
|
0.0 0.0 0.0
|
|
0.25 0.25 0.25
|
|
|
|
# Definition of the planewave basis set (at convergence 16 Rydberg 8 Hartree)
|
|
ecut 8 # Maximal kinetic energy cut-off, in Hartree
|
|
# ecut 20 # Maximal kinetic energy cut-off, in Hartree
|
|
|
|
# Definition of the SCF procedure
|
|
nstep 250 # Maximal number of SCF cycles
|
|
diemac 12.0 # Although this is not mandatory, it is worth to
|
|
# precondition the SCF cycle. The model dielectric
|
|
# function used as the standard preconditioner
|
|
# is described in the "dielng" input variable section.
|
|
# Here, we follow the prescription for bulk silicon.
|
|
|
|
|
|
pp_dirpath "$ABI_PSPDIR"
|
|
pseudos "C.psp8"
|
|
|
|
#%%<BEGIN TEST_INFO>
|
|
#%% [setup]
|
|
#%% executable = abinit
|
|
#%% [files]
|
|
#%% files_to_test =
|
|
#%% t68.abo, tolnlines=67, tolabs= 4.0e-3, tolrel= 1.0e-1, fld_options = -easy
|
|
#%% [paral_info]
|
|
#%% max_nprocs = 6
|
|
#%% [extra_info]
|
|
#%% authors = F. Bruneval and X. Gonze
|
|
#%% keywords = GW
|
|
#%% description =
|
|
#%% Diamond: G0W0 @ scPBE0-1/3 calculation. Monitor the direct gap at Gamma.
|
|
#%%
|
|
#%% First, with the scGW methodology based on a Kohn-Sham basis,
|
|
#%% then doing the scPBE0 using the planewave basis, followed by a one-shot G0W0.
|
|
#%% The agreement is reasonable with the parameters used in the automatic test,
|
|
#%% but can be improved with better parameters (esp. nband), see later.
|
|
#%% At the PBE level, the (KS) band gap is 5.231 eV,
|
|
#%% At the scPBE0-1/3 level, the Kohn-Sham basis delivers 8.101 eV,
|
|
#%% while the plane wave basis delivers 8.122 eV.
|
|
#%% At the G0W0-scPBE0-1/3 level, the Kohn-Sham basis delivers 7.638 eV,
|
|
#%% while the plane wave basis delivers 7.659 eV.
|
|
#%% The macroscopic dielectric constant (at Gamma) is 9.3698 from PBE,
|
|
#%% 4.4126 from scPBE0-1/3(KS) and 4.4105 from scPBE0-1/3(planewaves).
|
|
#%%
|
|
#%% These calculations have also been done with better
|
|
#%% parameters, in order to observe a better agreement between the KS basis set and the
|
|
#%% planewave basis set (ecut 20 ecutsigx 20 nband 30 gw_qprange 30 - note however that ecuteps 2 is low),
|
|
#%% at the expense of CPU time..
|
|
#%% In this case, one used the PBE0 functional (ixc_sigma=41 or ixc_sigma=-406,
|
|
#%% of even isc_sigma=42 with hyb_mixing=0.25 - all the cases were checked).
|
|
#%% At the PBE level, the (KS) band gap was 5.661 eV,
|
|
#%% At the scPBE0 level, the Kohn-Sham basis delivered 7.882 eV,
|
|
#%% while the plane wave basis delivered 7.884 eV.
|
|
#%% At the G0W0-scPBE0 level, the Kohn-Sham basis delivered 7.820 eV,
|
|
#%% while the plane wave basis delivered 7.827 eV.
|
|
#%% The macroscopic dielectric constant (at Gamma) was 7.845 from PBE,
|
|
#%% 4.483 from scPBE0(KS) and 4.490 from scPBE0(planewaves).
|
|
#%%<END TEST_INFO>
|