5
$\begingroup$

Im still quite new to DFTs and tried to calculate the DOS of Nb using Quantum Espresso. I tried multiple models. This includes a primitive cell using 'ibrav = 3', a conventional cell using 'ibrav = 0' and a 2x2x2 supercell of the conventional cell. The plot of the conventional cell is scaled by 1/2 and of the 2x2x2 by 1/16 for comparison. For lower energies it seems like a good fit, but the states with higher energy seem to disappear as the numbers of atoms inside the cell increases.

enter image description here

I converged every structure based on k-points, ecutrho and ecutwfc. Afterwards I used 'vc-relax' to find the converged lattice parameter. I also calculated the DOS of the conventional cell and the 2x2x2 with the converged parameters of the primitive cell, but the results were pretty much identical.

Is there a reason why the 3 different cells differ from eachother at higher energies and is there a way to prevent this?

I also would not rule out that I made a mistake or bad practice somewhere. So criticism is always welcomed.

nscf-file for primitive cell:

&CONTROL calculation = "nscf" max_seconds = 6000 etot_conv_thr = 1.0000000000d-05 forc_conv_thr = 1.0000000000d-04 outdir = "tmp" pseudo_dir = "../pseudo" prefix = "Nb_PC_DOS" / &SYSTEM a = 3.307235031d+00 ecutrho = 3.20000d+02 ecutwfc = 4.00000d+01 ibrav = 3 nat = 1 ntyp = 1 occupations = "smearing" smearing = "gaussian" degauss = 1.00000d-02 / &ELECTRONS conv_thr = 1.00000d-07 electron_maxstep = 200 mixing_beta = 4.0000000000d-01 startingpot = "atomic" startingwfc = "atomic+random" / K_POINTS {automatic} 50 50 50 0 0 0 ATOMIC_SPECIES Nb 92.90638 Nb.pbe-nsp-van.UPF ATOMIC_POSITIONS {alat} Nb 0.0000000000 0.0000000000 0.0000000000 

nscf-file for conventional cell:

&CONTROL calculation = "nscf" etot_conv_thr = 1.0000000000d-05 forc_conv_thr = 1.0000000000d-04 outdir = "tmp" pseudo_dir = "../pseudo" prefix = "Nb_CC_DOS" / &SYSTEM a = 3.30713581078279d+00 ecutrho = 4.00000d+02 ecutwfc = 5.00000d+01 ibrav = 0 nat = 2 ntyp = 1 occupations = "smearing" smearing = "gaussian" degauss = 1.00000d-02 / &ELECTRONS conv_thr = 1.00000d-07 electron_maxstep = 200 mixing_beta = 4.0000000000d-01 startingpot = "atomic" startingwfc = "atomic+random" diagonalization = "cg" / K_POINTS {automatic} 50 50 50 0 0 0 ATOMIC_SPECIES Nb 92.90638 Nb.pbe-nsp-van.UPF ATOMIC_POSITIONS {alat} Nb 0.0000000000 0.0000000000 0.0000000000 Nb 0.5000000000 0.5000000000 0.5000000000 CELL_PARAMETERS {alat} 1.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 

nscf-file for 2x2x2 conventional cell:

&CONTROL calculation = "nscf" etot_conv_thr = 1.0000000000d-05 forc_conv_thr = 1.0000000000d-04 outdir = "tmp" pseudo_dir = "../pseudo" prefix = "Nb_2x2x2_DOS" / &SYSTEM a = 6.61856950168857d+00 ecutrho = 4.80000d+02 ecutwfc = 6.00000d+01 ibrav = 0 nat = 16 ntyp = 1 occupations = "smearing" smearing = "gaussian" degauss = 1.00000d-02 / &ELECTRONS conv_thr = 1.00000d-07 electron_maxstep = 200 mixing_beta = 4.0000000000d-01 startingpot = "atomic" startingwfc = "atomic+random" diagonalization = "cg" / K_POINTS {automatic} 30 30 30 0 0 0 ATOMIC_SPECIES Nb 92.90638 Nb.pbe-nsp-van.UPF ATOMIC_POSITIONS {alat} Nb 0.0000000000 0.0000000000 0.0000000000 Nb 0.2500000000 0.2500000000 0.2500000000 Nb 0.0000000000 0.0000000000 0.5000000000 Nb 0.5000000000 0.0000000000 0.0000000000 Nb 0.0000000000 0.5000000000 0.0000000000 Nb 0.2500000000 0.2500000000 0.7500000000 Nb 0.7500000000 0.2500000000 0.2500000000 Nb 0.2500000000 0.7500000000 0.2500000000 Nb 0.0000000000 0.5000000000 0.5000000000 Nb 0.5000000000 0.0000000000 0.5000000000 Nb 0.5000000000 0.5000000000 0.0000000000 Nb 0.2500000000 0.7500000000 0.7500000000 Nb 0.7500000000 0.2500000000 0.7500000000 Nb 0.7500000000 0.7500000000 0.2500000000 Nb 0.5000000000 0.5000000000 0.5000000000 Nb 0.7500000000 0.7500000000 0.7500000000 CELL_PARAMETERS {alat} 1.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 0.0000000000 0.0000000000 0.0000000000 1.0000000000 
$\endgroup$
0

1 Answer 1

11
$\begingroup$

Background

When you compute the density-of-states (DOS) for a material, you don't compute all the states. What you do is to compute the lowest $N$ states, where $N$ is a parameter of the calculation. For the original ground state calculation (the SCF calculation) you need $N$ to be at least as large as the number of electrons (neglecting spin-degeneracy), because you need to be able to represent the density; typically, people take $N$ to be the number of electrons in the cell plus a small extra fraction.

For the DOS calculation, you already have the density (and hence the Kohn-Sham Hamiltonian), so you can choose any value for $N$ that you like. You will almost always want to compute more states than for the ground state, but it really is up to you. You cannot compute all the states though, because the Kohn-Sham eigenspectrum has no upper bound, i.e. you can always find a higher energy state.$^\dagger$

Quantum Espresso DOS

This all means that when you compute your material's DOS, you need to tell your DFT code how many states you wish to compute. For Quantum Espresso's pw.x the default is one per electron plus 20% more (minimum of 4 more). You can override this by setting nbnd; see:

https://www.quantum-espresso.org/Doc/INPUT_PW.html

For dos.x the approach is to compute all the states you have from pw.x, unless you give it an energy range (Emin and Emax); see:

https://www.quantum-espresso.org/Doc/INPUT_DOS.html

Your calculations

Now we can understand what's happening in your calculations. As far as I can see, you haven't set any of the parameters to control the number of bands at either step, so it will be using the default values; i.e. the number of electrons (divided by two for spin-degenerate systems), plus 20% or 4 (whichever is greater).

For the primitive cell, there aren't many electrons so Quantum Espresso hasn't computed many additional states (conduction states) -- possibly the minimum of 4. The conventional cell has more electrons, so the extra 20% means more states, and these states go up to higher energies. Finally, the supercell has the most electrons, and so 20% is a larger number still and you see an even greater energy range.

Note that in none of these cases is the drop in DOS physical, it is simply that you haven't computed any states at these energies; if you go back and compute some more states, you will see non-zero DOS values in these energy ranges.


$^\dagger$ In theory; in practice, you only include a finite number of basis states $N_\mathrm{states}$ in your calculation, so the Hamiltonian operator is a $N_\mathrm{states}\times N_\mathrm{states}$ matrix, and has $N_\mathrm{states}$ eigenstates (not infinitely many). In a plane-wave code like Quantum Espresso, however, $N_\mathrm{states}$ is still much larger than you would want to compute.

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.