# 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. # The pseudopotential has a non-linear core-correction, unlike test libxc#72 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 #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 "PseudosTM_pwteter/13al.pspnc" #%% #%% [setup] #%% executable = abinit #%% [files] #%% files_to_test = #%% t74.abo, tolnlines= 12, tolabs= 0.005, tolrel= 0.0003, 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. #%% Testing of many hybrid functionals (variations of the hyb_* input variables). #%% See more information in test libxc#72. The present test differns by the use of a #%% different pseudopotential, that includes a non-linear core correction. #%%