[QE-users] Bandstructure with HSE provides wrong eigenvalues
Dr. Thomas Brumme
thomas.brumme at uni-leipzig.de
Sun May 6 17:34:30 CEST 2018
Dear Stefan,
you can't calculate the band structure using a self-consistent calculation.
This would mean that you search for the ground-state density (scf) whilst
your integrations in k-space are done on a very sparse grid... On the other
hand you can't calculate the band structure for hybrid functionals using
an nscf or bands calculation - the answer was given recently by Lorenzo
Paulatto and I cite his answer at the end of the mail - you can find it
under the following link:
https://www.mail-archive.com/users@lists.quantum-espresso.org/msg33817.html
I can furthermore add to Lorenzos answer that you can also get the band
structure by interpolating the E(k) dispersion on the regular grid like it
is done in the BoltzTraP code:
https://www.imc.tuwien.ac.at//forschungsbereich_theoretische_chemie/forschungsgruppen/prof_dr_gkh_madsen_theoretical_materials_chemistry/boltztrap/
https://www.sciencedirect.com/science/article/pii/S0010465506001305
Regards
Thomas
the mail:
Hello,
The problem is quite fundamental, because in order to get the Fock
operator at a certain k-point you need the wavefunctions on a grid
that is commensurate with it, this can only be done self-consistently.
However, there are a few things you can do.
1. I think you can add k-points to the scf calculation with weight
zero, this is boring (you'll have to specify he grid and the path by
hand) and very computationally expensive.
2. you can interpolate the Fock operator, this should be possible if
it is expressed om a basis of localized wavrfunctions. There is some
development in this direction, but I don't know if it has been
implemented already by someone.
3. You could interpolate the wavefunctions, from Wannier functions.
This is probably impossible in practice.
4. You can interpolate the Hamiltonian, passing through a Wannier
basis representation. This is possible, I have done it, and I've put
an example in the git developement branch
(PP/examples/W90_open_grid_example/). But you need to know, or learn,
how to use Wannier90 (which is a useful skill regardless), and to use
the developement version of qe.
Zitat von Stefan Seidl <Stefan.Seidl at physik.uni-regensburg.de>:
> Dear All,
> I am calculating with QUANTUM ESPRESSO the BANDSTRUCTURE of Silicon
> with HYBRID FUNCTIONAL HSE.
>
> My calculation contains 3 steps:
>
> 1: pw.x < si.scf.in > si.scf.out
> 2: pw.x < si.scf_instead_bands.in > si.scf_instead_bands.out
> 3: bands.x < bands.in > bands.out
>
> to 1: I am using an explicit kpoint list with a correspoinding qpoint grid
> all kpoints (12 12 12 mesh )are equal weighted with 1 (which
> provides the weight 2/(12**3) )
> #######################################################
> &control
> calculation = 'scf'
> prefix = 'silicon',
> pseudo_dir = './',
> outdir = './calculation'
> verbosity = 'high',
> /
> &system
> ibrav = 2,
> celldm(1) = 10.2612,
> nat = 2,
> ntyp = 1,
> ecutwfc = 40.0,
> ! nbnd = 8,
> input_dft ='hse',
> nqx1 = 4,
> nqx2 = 4,
> nqx3 = 4,
> occupations = 'smearing',
> smearing = 'gaussian',
> degauss = 0.001,
>
> nosym = .TRUE.,
> noinv = .TRUE.,
> /
> &electrons
> mixing_beta = 0.7
> /
>
> ATOMIC_SPECIES
> Si 28.0855 Si_NCv0.4_PBE_stringent.upf
> ATOMIC_POSITIONS
> Si 0.00 0.00 0.00
> Si 0.25 0.25 0.25
> K_POINTS tpiba
> 1728
> 0.0000000 0.0000000 0.0000000 1
> -0.0833333 0.0833333 -0.0833333 1
> -0.1666667 0.1666667 -0.1666667 1
> -0.2500000 0.2500000 -0.2500000 1
> -0.3333333 0.3333333 -0.3333333 1
> -0.4166667 0.4166667 -0.4166667 1
> 0.5000000 -0.5000000 0.5000000 1
> 0.4166667 -0.4166667 0.4166667 1
> 0.3333333 -0.3333333 0.3333333 1
> 0.2500000 -0.2500000 0.2500000 1
> 0.1666667 -0.1666667 0.1666667 1
> 0.0833333 -0.0833333 0.0833333 1
> 0.0833333 0.0833333 0.0833333 1
> 0.0000000 0.1666667 0.0000000 1
> -0.0833333 0.2500000 -0.0833333 1
> -0.1666667 0.3333333 -0.1666667 1
> ...
>
>
>
>
> to 2: here I am just specifying the special kpoint path
> #######################################################
>
> &control
> calculation = 'scf'
> prefix = 'silicon',
> pseudo_dir = './',
> outdir = './calculation'
> verbosity = 'high',
> /
> &system
> ibrav = 2,
> celldm(1) = 10.2612,
> nat = 2,
> ntyp = 1,
> ecutwfc = 40.0,
> nbnd = 8,
> input_dft ='hse',
> nqx1 = 1,
> nqx2 = 1,
> nqx3 = 1,
> occupations = 'smearing',
> smearing = 'gaussian',
> degauss = 0.001,
>
> nosym = .TRUE.,
> noinv = .TRUE.,
> /
> &electrons
> mixing_beta = 0.7
> /
>
> ATOMIC_SPECIES
> Si 28.0855 Si_NCv0.4_PBE_stringent.upf
> ATOMIC_POSITIONS
> Si 0.00 0.00 0.00
> Si 0.25 0.25 0.25
> K_POINTS tpiba
> 50
> 0.50000000 0.50000000 0.50000000 1
> 0.44444444 0.44444444 0.44444444 2
> 0.38888889 0.38888889 0.38888889 3
> 0.33333333 0.33333333 0.33333333 4
> 0.27777778 0.27777778 0.27777778 5
> 0.22222222 0.22222222 0.22222222 6
> 0.16666667 0.16666667 0.16666667 7
> 0.11111111 0.11111111 0.11111111 8
> 0.05555556 0.05555556 0.05555556 9
> 0.00000000 0.00000000 0.00000000 10
> 0.00000000 0.00000000 0.00000000 11
> ...
>
>
>
> The eigenvalues from my 1st calculation si.scf.out are correct !
> But the eigenvalues of the 2nd calculation si.bands.out are wrong !
> E.g. the HOMO-LUMO distance at the Gamma point is just too big
> (compared to VASP results which are proven to be right)!
>
> Where is the mistake in my input file si.bands.in for the 2nd calculation ??
>
> Thanks a lot, best
> Stefan
--
Dr. rer. nat. Thomas Brumme
Wilhelm-Ostwald-Institute for Physical and Theoretical Chemistry
Leipzig University
Phillipp-Rosenthal-Strasse 31
04103 Leipzig
Tel: +49 (0)341 97 36456
email: thomas.brumme at uni-leipzig.de
More information about the users
mailing list