Density of States of hcp Be

for exciting helium


Purpose: In this tutorial, we will show how to calculate the electronic density of states (DOS) of Be in the hcp structure. The DOS is one of the basic properties of the electronic-structure calculations. In addition, we will explain how to restart a calculation, i.e., how to derive a DOS after the SCF cycle is finished. This is useful, e.g., for redrawing the DOS in a different energy window or, when performing several test calculation, if one desires to plot the results only for the final calculation.



0. Defining relevant shell variables

Very important: Before starting, the following shell variable must be set by the user:

EXCITINGROOT = Directory where exciting has been downloaded, e.g.: /home/user/exciting .

The setting of this variable can be done in a bash shell by typing (from now on the symbol $ will indicate the shell prompt):

$ export EXCITINGROOT=/local_path_to_exciting_root

Please note: In the input-files shown on this page, the placeholder EXCITINGROOT always needs to be replaced by the value of the $EXCITINGROOT variable.

1. SCF + DOS calculations

The experimental lattice constants for the hcp structure of Be are the following:

  • a = 2.24 Å = 4.290 Bohr
  • c = 3.59 Å = 6.784 Bohr

these values are taken from the book of Kittel, Introduction to Solid State Physics, (John Wiley & Son, 1996).

The hcp structure has 2 atom in the basis. The positions of the 2 atoms, relative to the primitive (crystal) vectors of the hexagonal structure are:

  1. (1/3, 2/3, 1/4)
  2. (2/3, 1/3, 3/4)

For the ground-state calculation, we use the following parameters:

  • LSDAPerdew-Wang for the exchange-correlation functional,
  • k-point mesh of 10x10x10,
  • stype = "Methfessel-Paxton 1",
  • swidth = "0.001",
  • rgkmax = 7.0,
  • gmaxvr = 14.

Details about the meaning of these parameters can be found in the Input Reference. Notice that, in principle, for metallic systems, the choice for the k-point mesh and the value of the smearing swidth are not independent, in particular, small values of the smearing should be associated to large size meshes.

Using the parameters above, the resulting input file input.xml looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="inputtohtml.xsl" type="text/xsl"?>
 
<input xsi:noNamespaceSchemaLocation="EXCITINGROOT/xml/excitinginput.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsltpath="EXCITINGROOT/xml/">
 
  <title>Be</title>
  <structure speciespath="EXCITINGROOT/species/">
    <crystal scale="4.290" >
      <basevect>0.500000000 -0.866025402  0.000000000</basevect>
      <basevect>0.500000000  0.866025402  0.000000000</basevect>
      <basevect>0.000000000  0.000000000  1.581497800</basevect>
    </crystal>
    <species speciesfile="Be.xml">
      <atom coord="0.333333333  0.666666667  0.250000000" ></atom>
      <atom coord="0.666666667  0.333333333  0.750000000" ></atom>
    </species>
  </structure>
  <groundstate ngridk="10 10 10" 
               xctype="LSDAPerdew-Wang"
               stype="Methfessel-Paxton 1"
               swidth="0.001"
               gmaxvr="14"
               rgkmax="7.0">
  </groundstate>
  <properties>
    <dos nsmdos="0" winddos="-3.0 1.5" />
  </properties>
 
</input>

In this example, after the SCF cycle is finished, the quantity mentioned in the properties element (in this case the DOS) is calculated by the element dos. This element has a few attributes, see the Input Reference. The attribute nsmdos indicates the type of smearing for the resulting DOS. In particular, the value 0 means no smearing at all, 1 that a three nearest point averaging is performed, 2 that two such consecutive averaging are done, etc. To capture low lying states (semicore states), e.g., 2s, 3s, and 2p states of Al, one needs to manually set the energy range. This is done by the attribute winddos, here from -3.0 to 1.5 Ha (relative to the Fermi energy, EF=0 Hartree). After the calculation has been performed, a number of output files related to the DOS will be written. The TDOS.OUT and IDOS.OUT files contain the total and interstitial DOS per unit cell, respectively. The file PDOS_S01_A0001.OUT contains the partial DOS corresponding to a given atom (e.g., the index 1 means the first atom listed in the input file, etc.) decomposed according to the structure symmetry (see EXCITINGROOT/src/dos.f90 for more details). In order to plot the partial DOS, the best thing to do is to look for the appropriate template in xmldos2grace-xsl and using the visualization program xmgrace.

The total DOS obtained for three different k-point meshes (10x10x10, 16x16x16, and 20x20x20) is shown in the following plot:

fig1.png

This plot shows the total DOS for the occupied (with 2s symmetry) and unoccupied (partially with 2s and mainly with 2p symmetry) states of hcp Be. This result can be compared with a 30 years old calculation reported in V.L. Moruzzi, J.F. Janak, and A.R. Williams, Calculated electronic properties of metals, New York (Pergamon Press, 1978):

Be-JanakWilliams.png

Conclusions: Already for the 16x16x16 k-point mesh, the DOS of hcp Be is saturated (does not change with larger k-point mesh) and it is in very good agreement with other calculations.

2. How to redraw the DOS after already completed SCF calculations

Let us consider an example in which one has already performed a complete SCF + DOS calculation and does not need the values of the DOS in such a large extension of unoccupied states. From the previous example, one knows that the valence Be 2s states lie at about 0.4 Hartree below the Fermi level. Let us assume to be interested in the details of the DOS between this energy value and the Fermi energy. Therefore, we repeat the calculation using a slightly modified input file. We add the attribute do="skip" to the element groundstate, in order not to repeat the SCF cycle. Furthermore, we restrict the calculated energy range by defining winddos="-0.5 0.07" in input.xml. The modified lines of input.xml should be:

  ...
  <groundstate  do="skip" ngridk="16 16 16" ....
  ...
    <dos nsmdos="1" winddos="-0.5 0.07" />
  ...

We can also investigate the effect of the smearing of the DOS by choosing different values (0, 1,…) for the attribute nsmdos.

In the following, we show a plot of the results for the total and interstitial DOS with (smooth, nsmdos="1") and without (nsmdos="0") smearing for the 16x16x16 k-point mesh:

fig2.png
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License