mirror of https://github.com/abinit/abinit.git
206 lines
7.1 KiB
Plaintext
206 lines
7.1 KiB
Plaintext
# Crystalline aluminum : testing of many hybrid functionals (variations of the hyb_* input variables),
|
|
# as well as downsampling, for HSE06, HSE03, PBE0, PBE0-1/3, B3LYP.
|
|
|
|
ndtset 25
|
|
#ndtset 4
|
|
#jdtset 1 3 9 15
|
|
|
|
#Definition of the k-point grid
|
|
ngkpt 3*2 # This is a 2x2x2 FCC grid, based on the primitive vectors
|
|
nshiftk 4 shiftk 0.0 0.0 0.0 0.0 0.5 0.5 0.5 0.0 0.5 0.5 0.5 0.0
|
|
|
|
#k-point downsampling for Fock operator
|
|
fockdownsampling 3*2
|
|
|
|
#nstep 15 # Maximal number of SCF cycles
|
|
toldfe 1.0d-8 # Will stop when, twice in a row, the difference
|
|
|
|
#DATASET 1 PBE (ABINIT - the pseudopotential for Al is with LDA but this does not matter)
|
|
ixc1 11
|
|
|
|
#DATASET 2 PBE (LibXC)
|
|
# Gives the same as dataset 1
|
|
ixc2 -130101
|
|
|
|
#DATASET 3 HSE06 (LibXC)
|
|
ixc3 -428
|
|
|
|
#DATASET 4 HSE06 (VASP)
|
|
ixc4 -428
|
|
hyb_range_fock4 0.105835d0
|
|
hyb_range_dft4 0.105835d0 # Since they are identical, only one of hyb_range_dft or hyb_range_fock would have been enough
|
|
|
|
#DATASET 5 HSE06 (Espresso)
|
|
ixc5 -428
|
|
hyb_range_fock5 0.106d0
|
|
|
|
#DATASET 6 HSE03 (LibXC)
|
|
ixc6 -427
|
|
|
|
#DATASET 7 HSE03 (VASP)
|
|
ixc7 -427
|
|
hyb_range_dft7 0.1587531d0
|
|
|
|
#DATASET 8 PBE0 (ABINIT)
|
|
ixc8 41
|
|
|
|
#DATASET 9 PBE0 (LIBXC)
|
|
# Gives the same as dataset 8
|
|
ixc9 -406
|
|
|
|
#DATASET 10 PBE0-1/3 (ABINIT)
|
|
ixc10 42
|
|
|
|
#DATASET 11 PBE0-1/3 (LIBXC)
|
|
# Gives the same as dataset 10
|
|
ixc11 -456
|
|
|
|
#DATASET 12 B3LYP (LIBXC)
|
|
ixc12 -402
|
|
|
|
#DATASET 13 HF (ABINIT)
|
|
ixc13 40
|
|
|
|
######################################################################################
|
|
#Now play with the functionals that have tuning hyb_mixing(_sr) or hyb_range_dft or hyb_range_fock parameter
|
|
|
|
|
|
#Play first with HSE06
|
|
|
|
#DATASET 14 Get HSE03. Fool LibXC by imposing to HSE06 the HSE03 parameters
|
|
# So, gives the same as dataset 6
|
|
ixc14 -428 # This should be HSE06
|
|
hyb_range_fock14 0.106066d0 # But these lines redefine the parameters to the libxc HSE03
|
|
hyb_range_dft14 0.188988d0
|
|
|
|
#DATASET 15 Imposing to HSE06 a screening only at very large distances does NOT give the PBE0 at the same k point grid,
|
|
#because in the latter, the Spencer-Alavi trick is used. The present dataset leads to a divergence with the
|
|
#inverse square of hyb_range_fock .
|
|
ixc15 -428 # This should be HSE06
|
|
hyb_range_fock15 0.001d0 # This should transform it to PBE0 in the limit of infinite number of k points
|
|
nstep15 21
|
|
|
|
#DATASET 16 Get PBE. Fool LibXC by imposing to HSE06 an extremely small mixing parameter
|
|
# So, gives the same as dataset 1 or 2. DOES NOT WORK, although the difference is at the level of 1.0d-4 !
|
|
ixc16 -428 # This should be HSE06
|
|
hyb_mixing_sr16 0.00000002d0 # But these lines redefine the parameters to the HF within tolerance
|
|
|
|
#DATASET 17 Get PBE. Fool LibXC by imposing to HSE06 a very short range screening
|
|
# So, gives the same as dataset 8 or 9. DOES NOT WORK, although the difference is at the level of 1.0d-4 !
|
|
ixc17 -428 # This should be HSE06
|
|
hyb_range_fock17 5.0 # But these lines redefine the parameters to the PBE within tolerance
|
|
# (the screening is complete at a very small distance already
|
|
# We should use hyb_range_fock=100.,
|
|
# but calculation doesnt converge with libXC5
|
|
|
|
|
|
#Play a bit with HSE03
|
|
|
|
#DATASET 18 Get HSE06. Fool LibXC by imposing to HSE03 the HSE06 parameters
|
|
# So, gives the same as dataset 3
|
|
ixc18 -427 # This should be HSE03
|
|
hyb_range_fock18 0.11 # But this redefines the parameters to the libxc HSE06
|
|
|
|
|
|
#Play a bit with PBE0 from ABINIT
|
|
|
|
#DATASET 19 Get PBE0-1/3. Fool ABINIT by imposing to PBE0 the PBE0-1/3 parameter
|
|
# So, gives the same as dataset 10 or 11
|
|
ixc19 41
|
|
hyb_mixing19 1.0/3.0
|
|
|
|
#DATASET 20 Get exact exchange + PBE correlation. Fool ABINIT by imposing to PBE0 the HF parameter
|
|
# Might be compared to dataset 13, although the correlation is now present.
|
|
# Comparison with nline=0=nstep shows X from DFT is indeed set to zero.
|
|
ixc20 41
|
|
hyb_mixing20 0.99999998d0
|
|
|
|
#DATASET 21 Get PBE. Fool ABINIT by imposing to PBE0 the PBE parameter
|
|
# So, gives the same as dataset 1 or 2
|
|
ixc21 41
|
|
hyb_mixing21 0.0d0
|
|
|
|
|
|
#Play a bit with PBE0 from LibXC
|
|
|
|
#DATASET 22 Get PBE0-1/3. Fool ABINIT by imposing to PBE0 the PBE0-1/3 parameter
|
|
# So, gives the same as dataset 10 or 11
|
|
ixc22 -406
|
|
hyb_mixing22 1.0/3.0
|
|
|
|
#DATASET 23 Get exact exchange + PBE correlation. Fool ABINIT by imposing to PBE0 the HF parameter
|
|
# So, gives the same as dataset 20
|
|
ixc23 -406
|
|
hyb_mixing23 1.0d0
|
|
|
|
#DATASET 24 Get PBE. Fool ABINIT by imposing to PBE0 the PBE parameter
|
|
# So, gives the same as dataset 1 or 2
|
|
ixc24 -406
|
|
hyb_mixing24 0.0d0
|
|
|
|
|
|
#Play a bit with PBE0-1/3 from ABINIT
|
|
|
|
#DATASET 25 Get PBE0. Fool ABINIT by imposing to PBE0-1/3 the PBE0 parameter
|
|
# So, gives the same as dataset 8 or 9
|
|
ixc25 41
|
|
hyb_mixing25 0.25d0
|
|
|
|
#
|
|
getwfk1 0
|
|
getwfk 1
|
|
|
|
#Definition of occupation numbers
|
|
occopt 7
|
|
tsmear 0.04
|
|
|
|
#Definition of the unit cell
|
|
acell 3*7.60 # This is equivalent to 7.60 7.60 7.60
|
|
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 # There is only one type of atom
|
|
znucl 13 # The keyword "znucl" refers to the atomic number of the
|
|
# possible type(s) of atom. The pseudopotential(s)
|
|
# mentioned in the "files" file must correspond
|
|
# to the type(s) of atom. Here, the only type is Aluminum
|
|
|
|
|
|
#Definition of the atoms
|
|
natom 1 # There is only one atom per cell
|
|
typat 1 # This atom is of type 1, that is, Aluminum
|
|
xred # This keyword indicate that the location of the atoms
|
|
# will follow, one triplet of number for each atom
|
|
0.0 0.0 0.0 # Triplet giving the REDUCED coordinate of atom 1.
|
|
|
|
#Definition of the planewave basis set
|
|
ecut 6.0 # Maximal kinetic energy cut-off, in Hartree
|
|
|
|
pp_dirpath "$ABI_PSPDIR"
|
|
pseudos "PseudosGTH_pwteter/13al.pspgth"
|
|
|
|
#%%<BEGIN TEST_INFO>
|
|
#%% [setup]
|
|
#%% executable = abinit
|
|
#%% [files]
|
|
#%% files_to_test =
|
|
#%% t72.abo, tolnlines= 1, tolabs= 0.0005, tolrel= 2.0e-04, fld_options = -easy
|
|
#%% [paral_info]
|
|
#%% max_nprocs = 4
|
|
#%% [extra_info]
|
|
#%% authors = X. Gonze
|
|
#%% keywords =
|
|
#%% description =
|
|
#%% Crystalline aluminum, primitive cell. Test of downsampling for HSE06, PBE0, HSE03.
|
|
#%% 2x2x2 with 4 shifts for the k point grid in the FBZ
|
|
#%% 1x1x1 with 4 shifts for the k point grid for the Fock operator in the FBZ
|
|
#%% Testing of many hybrid functionals (variations of the hyb_* input variables),
|
|
#%% Tests were performed with a k-point grid 16x16x16 (without additional shift),
|
|
#%% to try to recover the nice behaviour of the HSE03 with down sampling
|
|
#%% shown in Marsman et al JPCM 20, 064201 (2008), Fig. 1 (there, the reference was 24x24x24)
|
|
#%% In all the cases (HSE03 libxc, HSE03 VASP, HSE06 - even clearing the issue with the definition of HSE03 dataset 4&5)
|
|
#%% the downsampling does NOT perform well ...
|
|
#%%<END TEST_INFO>
|