Part 1: Introduction to VASP


1 Isolated oxygen atom

By the end of this tutorial, you will be able to:

  • explain a density-functional-theory (DFT) calculation on the level of pseudocode
  • create input files to run a DFT calculation for an isolated atom
  • recognize the basic structure of the stdout and OUTCAR
  • extract the relevant energies for molecules and atoms
  • restart a DFT calculation from the previous Kohn-Sham (KS) orbitals

1.1 Task

Let's perform a DFT calculation for a single oxygen atom in a large box in order to compute the energies of an isolated atom.

DFT is the framework in which the electronic degrees of freedom are treated. On the level of pseudocode that is

  1. Given the electronic charge density, the Hamiltonian can be defined.
  2. The eigenfunctions and eigenvalues of the Hamiltonian are computed.
  3. The electronic charge density is updated.
  4. Iterate 1.-3. until converged.

For details about the implementation in VASP go to algorithms used in VASP to calculate the electronic ground state.

1.2 Input

VASP looks in the current directory for four main input files, i.e., POSCAR, INCAR, KPOINTS and POTCAR. The general format of each input file is explained in details in the linked articles that lead to the VASP Wiki, but below we will discuss the particular choices for this example.

The input files to run this example are prepared at $TUTORIALS/molecules/e01_O-DFT.

Open the terminal and navigate to this examples directory. Confirm that all files are present:

cd $TUTORIALS/molecules/e01_*
ls

Do the same in the file browser on the left hand side and open the files by double clicking.

Let us now discuss the content of the input files! First, we define the position of a single atom in a box in the POSCAR file.

POSCAR


O atom in a box
 1.0          ! scaling parameter
 8.0 0.0 0.0  ! lattice vector  a(1)
 0.0 8.0 0.0  ! lattice vector  a(2)
 0.0 0.0 8.0  ! lattice vector  a(3)
1             ! number of atoms
cart          ! positions in cartesian coordinates
 0 0 0

The lattice parameters are set to be sufficiently large, i.e., 8 Å, so that no significant interaction between atoms in neighboring cells occurs.

In general, the INCAR file contains tags that control the calculation. These tags are documented on the VASP Wiki in the category and have some default value in case they are not set in the INCAR file. These default values will start a DFT calculation. Check out the tags explicitly set in this example!

INCAR


SYSTEM = O atom in a box
ISMEAR = 0  ! Gaussian smearing

Go ahead and check the meaning of the SYSTEM tag and ISMEAR = 0. Also pay attention to related tags!

Next, we define a single $\mathbf{k}$ point in the KPOINTS file.

KPOINTS


Gamma-point only
 0
Monkhorst Pack
 1 1 1
 0 0 0

One $\mathbf{k}$ point suffices to describe an isolated atom or molecule, because a wavevector $\mathbf{k}$ connects points separated by a lattice vector, i.e., a translation to a neighboring cell. Thus, including more $\mathbf{k}$ points would describe the interaction of oxygen atoms in neighboring cells more accurately. But that interaction should be zero, if we have indeed set the box sufficiently large to describe an isolated atom in the POSCAR file.

The following POTCAR file contains the pseudopotential and related data for oxygen. It is rather long, so please open it as a tab using the file browser, but be careful not to edit it! Here is just the head of the POTCAR file.

POTCAR


  PAW_PBE O 08Apr2002                    
   6.00000000000000     
 parameters from PSCTR are:
   VRHFIN =O: s2p4
   LEXCH  = PE
   EATOM  =   432.3788 eV,   31.7789 Ry

   TITEL  = PAW_PBE O 08Apr2002
   LULTRA =        F    use ultrasoft PP ?
   IUNSCR =        1    unscreen: 0-lin 1-nonlin 2-no
   RPACOR =    1.200    partial core radius
   POMASS =   16.000; ZVAL   =    6.000    mass and valenz

The tags here do not need to be understood in detail! Only one thing might be noteworthy: In line 4, you can see the valence configuration of oxygen, and in the last line ZVAL = 6 indicates that there are 6 valence electrons.

1.3 Calculation

Let us now run VASP with the input discussed above! Open a terminal, navigate to this example's directory and run VASP by entering the following:

cd $TUTORIALS/molecules/e01_*
mpirun -np 2 vasp_std

VASP is a Fortran-based program with an executable vasp_std. It can be executed in parallel using mpirun. In order to understand how to control mpirun enter:

man mpirun

How to efficiently parallelize your calculation is an advanced topic.

1.3.1 stdout

After you run VASP, the following stdout will be printed to the terminal:


 running on    2 total cores
 distrk:  each k-point on    2 cores,    1 groups
 distr:  one band on    1 cores,    2 groups
 vasp.6.3.0 16May21 (build Oct 09 2021 15:55:16) complex                        

 POSCAR found :  1 types and       1 ions
 Reading from existing POTCAR
 scaLAPACK will be used
 Reading from existing POTCAR
 LDA part: xc-table for Pade appr. of Perdew
 POSCAR, INCAR and KPOINTS ok, starting setup
 FFT: planning ...
 WAVECAR not read
 entering main loop
       N       E                     dE             d eps       ncg     rms          rms(c)
DAV:   1     0.384469864424E+02    0.38447E+02   -0.96726E+02    16   0.293E+02
DAV:   2     0.345967752349E+01   -0.34987E+02   -0.34942E+02    32   0.450E+01
DAV:   3    -0.244421465184E+00   -0.37041E+01   -0.34307E+01    16   0.308E+01
DAV:   4    -0.312489880281E+00   -0.68068E-01   -0.66911E-01    16   0.508E+00
DAV:   5    -0.313453098582E+00   -0.96322E-03   -0.96305E-03    32   0.506E-01    0.307E-01
DAV:   6    -0.314470890869E+00   -0.10178E-02   -0.17849E-03    16   0.332E-01    0.155E-01
DAV:   7    -0.314569344422E+00   -0.98454E-04   -0.23774E-04    16   0.137E-01
   1 F= -.31456934E+00 E0= -.16030702E+00  d E =-.308525E+00
 writing wavefunctions

Let us understand this output! After the setup, it says entering main loop. For each iteration step of the DFT calculation, that is treated by a Davidson iteration scheme, a summary is written:

tag meaning
N iteration count
E total energy
dE change of the total energy
d eps change of the eigenvalues
ncg number of optimization steps to iteratively diagonalize the Hamiltonian
rms weighted absolute value of the residual vector of the KS orbitals
rms(c) absolute value of the charge density residual vector

After convergence is reached, the final line summarizes:

tag meaning
F the total free energy
E0 the converged total energy E
d E the final change of the total energy due to the entropy T*S term discussed below

Note:

  • The initial electronic charge density is read from the POTCAR file and remains fixed for the first $4$ steps. This is because the Hamiltonian is iteratively diagonalized and, thus, the KS orbitals used to update the charge density should only be trusted after a warm-up period. Then, the charge density is updated before entering the next iteration step, i.e., not in the final iteration step. See rms(c) column.
  • The default convergence criterion is dE $< 10^{-4}$ and d eps $< 10^{-4}$.
1.3.2 OUTCAR

The OUTCAR file is a more detailed log of the calculation. Open the file from the file browser on the left to get a brief look!

The file is divided in parts by lines. The exact information that can be found in the OUTCAR file strongly depends on the calculation. In this example, we can find the following parts:

  • Version and execution details.
  • Reading of INCAR, POSCAR and POTCAR.
  • Analysis of nearest-neighbor distances and symmetries.
  • Tags and parameters set by INCAR, POSCAR, POTCAR and KPOINTS or by default.
  • Verbose information describing the calculation.
  • Information on the lattice, the $\mathbf{k}$ points and the positions.
  • Information on the basis set, e.g., number of plane waves.
  • Information concerning the nonlocal pseudopotential.
  • Details for each DFT iteration step.
  • Computed quantities, such as energies, forces, etc.
  • Computational time.

On a high-performance computer, you are likely to open your OUTCAR file directly in the terminal from this example's directory, e.g., using vim:

vim OUTCAR

vim opens directly in the terminal window and can be quit by entering :q+enter. To search a string, enter /mystring+enter.

Let us have a closer look at the information concerning the eigenvalues after convergence! Try to find the following information in the OUTCAR file:

 E-fermi :  -8.8433     XC(G=0):  -0.8046     alpha+bet : -0.1463

 Fermi energy:        -8.8432905119

 k-point     1 :       0.0000    0.0000    0.0000
  band No.  band energies     occupation 
      1     -23.8440      2.00000
      2      -8.9042      1.33333
      3      -8.9042      1.33333
      4      -8.9042      1.33333
      5      -0.4679      0.00000
      6       1.8630      0.00000
      7       1.8630      0.00000
      8       1.8630      0.00000

The Fermi energy is the value of E-fermi in eV and must be subtracted from the eigenvalues of the Hamiltonian (band energies) before interpreting these. Then, all states with negative energy are occupied (occupation). Note that your results might slightly differ, because the chosen settings result in a low precision.

How does the DFT result for the band energies and occupation relate to the occupation of energy levels in the real physical system of an isolated oxygen atom?

Click to see the answer!

Oxygen ([He]2s$^2$2p$^4$) has six valence electrons, which correspond to two 2s electrons and four 2p electrons. From the energies we can infer that the $2s$ electrons are at

$$ -23.8439~\text{eV} + 8.8431~\text{eV} = -15.0008~\text{eV} $$

below the Fermi energy, because 2s is expected to be more tightly bound than 2p. The three 2p orbitals are degenerate and occupied by four electrons. Thus, "the forth" electron is equally likely to be in any of the 2p orbitals, which is reflected by the occupation of band 2, 3 and 4 reading 1.33333.

Next, let us have a closer look at the information about the free energy at the end of the file:

  FREE ENERGIE OF THE ION-ELECTRON SYSTEM (eV)
  ---------------------------------------------------
  free  energy   TOTEN  =        -0.31456934 eV

  energy  without entropy=       -0.00604470  energy(sigma->0) =       -0.16030702

and

  entropy T*S    EENTRO =        -0.30852464

in the list of energies of the last iteration.

The degeneracy of the 2p orbitals introduces an unphysical entropy (S). And SIGMA, which is the broadening of energy levels introduced by the Gaussian smearing, can be interpreted as an artificial electronic temperature (T). A smaller value of SIGMA would reduce the entropy, but might slow down convergence. This leads to an unphysical term (T*S) in the free energy.

The reference system for which the pseudopotentials have been generated are isolated, nonspinpolarized atoms. Why is the total energy (energy without entropy) in this calculation close to zero?

Click to see the answer!

In this calculation, the total energy (energy without entropy) of the single, isolated oxygen atom is close to zero. And actually, if the box size were larger and the precision of the calculation higher, it would go to zero. This is only because all pseudopotentials have been generated for isolated, nonspinpolarized atoms. So we are comparing the reference system with itself. Keep in mind that, while the choice of the reference system is generally arbitrary, as soon as you do calculations for more atoms or in a smaller box, i.e., not isolated systems, the absolute values of energies become physically meaningless. In general, only relative energies (band energies w.r.t. Fermi level, total energies of two related systems etc.) can be interpreted and have physical meaning.

1.3.3 Restarting a calculation

The default way of restarting a calculation is to read the KS orbitals from the WAVECAR file. Try to restart and check the stdout to confirm that the calculation rapidly converges! For a fresh calculation, the WAVECAR file should be removed. How can you do that?

Click to see the answer!

In the terminal, navigate to this example's directory and enter:


rm WAVECAR

This is most likely how you will work on a high performance computer, nevertheless you may use the file browser and delete the file by selecting to delete it from the drop down menu.

1.4 Questions

  1. What does the tag ISMEAR = 0 mean? How is it connected to SIGMA?
  2. How many $\mathbf{k}$ points are necessary to describe an isolated atom? Why?
  3. How many times is the electronic charge density updated in this example? Why?
  4. Where can you find the total energy in the OUTCAR file? Why is this value close to zero in this example?
  5. Where can you find the eigenvalues of the Hamiltonian and the Fermi energy in the OUTCAR file?
  6. Which file must be in the current directory to restart a calculation from the previous run by default?

2 Spin-polarized oxygen atom

By the end of this tutorial, you will be able to:

  • switch on spin polarization to run a spin-density-functional-theory (SDFT) calculation
  • infer the spin magnetization from the eigenvalues of the Hamiltonian and the occupation of the two spin components
  • decide when to run a calculation with vasp_gam

2.1 Task

Perform a SDFT calculation for an isolated oxygen atom in order to extract the spin magnetization.

In SDFT the Hamiltonian is a $2\times2$ matrix and the KS orbitals are two component vectors. Here, the two components correspond to spin up and down in the isolated oxygen atom, which are allowed to have different eigenvalues. The interaction between spin components is effectively considered by separately computing the KS orbitals for both spin components for an effective Hamiltonian that takes into account both, spin-up and spin-down, charge densities.

2.2 Input

The input files to run this example are prepared at $TUTORIALS/molecules/e02_O-SDFT.

Check out the input files, i.e., POSCAR, INCAR, KPOINTS and POTCAR!

POSCAR


O atom in a box
 1.0          ! universal scaling parameters
 8.0 0.0 0.0  ! lattice vector  a(1)
 0.0 8.0 0.0  ! lattice vector  a(2)
 0.0 0.0 8.0  ! lattice vector  a(3)
1             ! number of atoms
cart          ! positions in cartesian coordinates
 0 0 0

INCAR


 SYSTEM = O atom in a box
 ISMEAR = 0  ! Gaussian smearing
 ISPIN =  2  ! spin polarized calculation

KPOINTS


Gamma-point only
 0
Monkhorst Pack
 1 1 1
 0 0 0

POTCAR


Pseudopotential of O


Starting from 1 Isolated oxygen atom, here, we added ISPIN = 2 and start a fresh calculation. Check out the ISPIN tag on the VASP Wiki!

2.3 Calculation

Open a terminal, navigate to this examples directory and run VASP by entering the following lines into the terminal:

cd $TUTORIALS/molecules/e02_*
mpirun -np 2 vasp_gam

In case the KPOINTS file contains only the Gamma point, one can use the vasp_gam executable instead of vasp_std. This will treat some arrays as real numbers instead of complex numbers, and is thus computationally cheaper. But mind that the assumption is only valid for calculations where only the Gamma point is considered.

2.3.1 stdout
Click to check that you obtain a similar standard output!
 running on    2 total cores
 distrk:  each k-point on    2 cores,    1 groups
 distr:  one band on    1 cores,    2 groups
 vasp.6.3.0 16May21 (build Oct 09 2021 15:55:16) complex                        

 POSCAR found :  1 types and       1 ions
 Reading from existing POTCAR
 -----------------------------------------------------------------------------
|                                                                             |
|           W    W    AA    RRRRR   N    N  II  N    N   GGGG   !!!           |
|           W    W   A  A   R    R  NN   N  II  NN   N  G    G  !!!           |
|           W    W  A    A  R    R  N N  N  II  N N  N  G       !!!           |
|           W WW W  AAAAAA  RRRRR   N  N N  II  N  N N  G  GGG   !            |
|           WW  WW  A    A  R   R   N   NN  II  N   NN  G    G                |
|           W    W  A    A  R    R  N    N  II  N    N   GGGG   !!!           |
|                                                                             |
|     You use a magnetic or noncollinear calculation, but did not specify     |
|     the initial magnetic moment with the MAGMOM tag. Note that a            |
|     default of 1 will be used for all atoms. This ferromagnetic setup       |
|     may break the symmetry of the crystal, in particular it may rule        |
|     out finding an antiferromagnetic solution. Thence, we recommend         |
|     setting the initial magnetic moment manually or verifying carefully     |
|     that this magnetic setup is desired.                                    |
|                                                                             |
 -----------------------------------------------------------------------------

 scaLAPACK will be used
 Reading from existing POTCAR
 LDA part: xc-table for Pade appr. of Perdew
 POSCAR, INCAR and KPOINTS ok, starting setup
 FFT: planning ...
 WAVECAR not read
 entering main loop
       N       E                     dE             d eps       ncg     rms          rms(c)
DAV:   1     0.389725260694E+02    0.38973E+02   -0.10098E+03    32   0.259E+02
DAV:   2     0.317915985579E+01   -0.35793E+02   -0.35786E+02    64   0.438E+01
DAV:   3    -0.119079350189E+01   -0.43700E+01   -0.36688E+01    32   0.328E+01
DAV:   4    -0.126191802522E+01   -0.71125E-01   -0.69187E-01    32   0.508E+00
DAV:   5    -0.126277731595E+01   -0.85929E-03   -0.85922E-03    48   0.504E-01    0.654E+00
DAV:   6     0.164099304113E+00    0.14269E+01   -0.32210E+00    32   0.894E+00    0.152E+00
DAV:   7    -0.112530565028E+01   -0.12894E+01   -0.77968E-01    32   0.398E+00    0.401E-01
DAV:   8    -0.153722308977E+01   -0.41192E+00   -0.11021E-01    48   0.146E+00    0.266E-01
DAV:   9    -0.160894087591E+01   -0.71718E-01   -0.55023E-03    32   0.412E-01    0.129E-01
DAV:  10    -0.167216457827E+01   -0.63224E-01   -0.15822E-02    32   0.576E-01    0.605E-02
DAV:  11    -0.167192460954E+01    0.23997E-03   -0.49458E-04    32   0.131E-01    0.179E-02
DAV:  12    -0.167270841708E+01   -0.78381E-03   -0.10283E-04    32   0.459E-02    0.127E-02
DAV:  13    -0.167295633802E+01   -0.24792E-03   -0.12473E-05    32   0.197E-02    0.961E-03
DAV:  14    -0.167295985216E+01   -0.35141E-05   -0.29861E-06    32   0.108E-02
   1 F= -.16729599E+01 E0= -.15958287E+01  d E =-.154262E+00  mag=     1.9998

Why is there a warning?

Click to see the answer!

The warning is related to the default value set for the MAGMOM tag, because we have set ISPIN = 2. Generally receiving a warning does not mean your calculation is faulty, but that you should check if this setting was intended. Warnings should help to avoid common pitfalls or improve computational performance.

2.3.2 OUTCAR

Let us have a look at the eigenvalues of the two spin components in your OUTCAR. Open the file from the file browser or in the terminal using vim:

vim $TUTORIALS/molecules/e02_*/OUTCAR

Then, find the following information:

spin component 1

k-point     1 :       0.0000    0.0000    0.0000
 band No.  band energies     occupation
     1     -25.0878      1.00000
     2     -10.0830      1.00000
     3     -10.0830      1.00000
     4     -10.0830      1.00000
     5      -0.4932      0.00000
     6       1.8213      0.00000
     7       1.8303      0.00000
     8       1.8303      0.00000
and
spin component 2

k-point     1 :       0.0000    0.0000    0.0000
 band No.  band energies     occupation
     1     -21.8396      1.00000
     2      -7.0543      0.33333
     3      -7.0543      0.33333
     4      -7.0543      0.33333
     5      -0.3594      0.00000
     6       1.9830      0.00000
     7       1.9830      0.00000
     8       1.9830      0.00000

Is this system spin-polarized?

Click to see the answer!

Yes, we see that the spin components have different eigenvalues, so the SDFT ground state is spin-polarized. In agreement with Hund’s rules, first each 2p orbital is occupied with one spin direction, e.g., spin up, as reflected by the occupation of spin component 1. Then, the "forth" 2p electron has spin down, which leads to occupation of 0.33333 in band No. 2-4 of spin component 2.

The spin magnetization is the expectation value of the magnetic moment due to the spin. In other words, it is the projection along the spin-quantization axis, e.g., the $z$ axis. Therefore, the spin magnetization is $$ \langle \mu_{s,z} \rangle=g_s\langle\frac{1}{2} \sigma_z\rangle\mu_B, $$ where $g_s\approx 2$ is the spin g-factor, $\sigma_z$ is a Pauli matrix, and $\mu_B$ is the Bohr magneton. What value does $\langle \mu_{s,z} \rangle$ have in this example?

Click to see the answer!

The spin component 1 has two more electrons as seen by comparing the occupation. Hence, $\langle \mu_{s,z} \rangle=2\mu_B$ and the summary, after the convergence has been reached, in the stdout indeed states mag= 1.9999 corresponding to $\langle \mu_{s,z} \rangle$.

2.4 Questions

  1. Which value of ISPIN switches spin-polarization off?
  2. Are the band energies of spin component 1 and spin component 2 equal? How about the Fermi energy?
  3. How can you compute the magnetization based on the occupation of the two spin components?

3 Spin-polarized oxygen atom with low symmetry

By the end of this tutorial, you will be able to:

  • find the symmetry that is imposed on the electronic charge density
  • explain how the imposed symmetry is extracted from the input
  • consider whether the total energy of two calculations can be compared

3.1 Task

Perform an SDFT calculation for an isolated oxygen atom with orthorhombic symmetry (D$_{2h}$) and compare it to the calculation with cubic symmetry (O$_h$).

There are $32$ crystallographic point groups, which are discrete rotational symmetries of crystals. In order to reduce the computational effort, VASP searches and takes advantage of all symmetries of the system by default. This helps to efficiently solve large systems, but it is important to ensure that no symmetry is imposed, that the ground state is not expected to have! In particular, even when the physical system prefers a different symmetry, the use of periodic boundary conditions may impose a symmetry on the solution, if it is not manually switched off.

For more information about the determination of symmetries in VASP read about the ISYM tag.

3.2 Input

The input files to run this example are prepared at $TUTORIALS/molecules/e03_O-SDFT-symm. Check the input files!

The point group symmetry is determined such that it is consistent with the structure in the POSCAR file and applied to the solution if the ISYM tag has its default value. The calculation in Example 2 is the desired calculation with cubic symmetry (O$_h$), because all lattice vectors have equal length and enclose $90^\circ$ and the single atom at the origin does not break any symmetry.

POSCAR


O atom in a box
 1.0          ! scaling parameters
 7.0 0.0 0.0  ! lattice vector 1
 0.0 7.5 0.0  ! lattice vector 2
 0.0 0.0 8.0  ! lattice vector 3
1             ! number of atoms
Cartesian     ! positions in Cartesian coordinates
 0 0 0        ! position of the atom

INCAR


SYSTEM = O atom in a box
ISMEAR = 0       ! Gaussian smearing
ISPIN  = 2       ! spin polarized calculation

KPOINTS


Gamma-point only
 0
Monkhorst Pack
 1 1 1
 0 0 0

POTCAR


Pseudopotential of O


Check out the meaning of all tags used in the INCAR file on the VASP Wiki! Does this calculation include the effects of spin-orbit coupling? Or in other words, is the spin degree of freedom coupled to spacial degrees of freedom?

Click to see the answer!

No! This calculation accounts for spin polarization by treating two spin components separately to arrive at a self-consistent solution for a non-relativistic Hamiltonian. Spin-orbit coupling is a relativistic correction that can be switched on in VASP using the LSORBIT tag.

Consider the box defined in the POSCAR file! In contrast to the calculation in Example 2 with cubic symmetry (O$_h$), we change the lattice vectors to obey orthorhombic symmetry (D$_{2h}$). In other words, all lattice vectors have distinct length, but still enclose $90^\circ$.

How can the input be changed to run a calculation with tetragonal symmetry ($D_{4h}$)?

Click to see the answer!

Two lattice vectors must have equal length and all enclose $90^\circ$. POSCAR


O atom in a box
 1.0          ! scaling parameters
 7.0 0.0 0.0  ! lattice vector 1
 0.0 7.0 0.0  ! lattice vector 2
 0.0 0.0 8.0  ! lattice vector 3
1             ! number of atoms
Cartesian     ! positions in Cartesian coordinates
 0 0 0        ! position of the atom

3.3 Calculation

Run VASP with the input given in section 3.2. In the terminal enter the following:

cd $TUTORIALS/molecules/e03_*
mpirun -np 2 vasp_gam

Then, you should check the stdout, that is printed to the terminal, and the OUTCAR file.

3.3.1 OUTCAR

Try to find the following symmetry analysis in your OUTCAR file.


 ion  position               nearest neighbor table
   1  0.000  0.000  0.000-

  LATTYP: Found a simple orthorhombic cell.
 ALAT       =     7.0000000000
 B/A-ratio  =     1.0714285714
 C/A-ratio  =     1.1428571429

  Lattice vectors:

 A1 = (   7.0000000000,   0.0000000000,   0.0000000000)
 A2 = (   0.0000000000,   7.5000000000,   0.0000000000)
 A3 = (   0.0000000000,   0.0000000000,   8.0000000000)


Analysis of symmetry for initial positions (statically):
=====================================================================
 Subroutine PRICEL returns:
 Original cell was already a primitive cell.


 Routine SETGRP: Setting up the symmetry group for a 
 simple orthorhombic supercell.


 Subroutine GETGRP returns: Found  8 space group operations
 (whereof  8 operations were pure point group operations)
 out of a pool of  8 trial point group operations.


The static configuration has the point symmetry D_2h.

What symmetry do you find in this example? And what did you find in Example 2?

Click to see the answer!

In this example, VASP finds the orthorhombic symmetry, i.e., point symmetry D_2h, based on the static positions. In Example 2, it found the point symmetry O$_h$.

Now, let us compare the total energy (energy without entropy) found for the orthorhombic symmetry,

  energy  without entropy =       -1.51495945  energy(sigma->0) =       -1.59207906,

to the total energy of the calculation with cubic symmetry, which was essentially zero. Which state is more stable?

Click to see the answer!

The calculation with lower symmetry is lower in energy and, thus, presumably closer to the theoretical, approximate many-body ground state. One important choice in DFT is the choice of the exchange-correlation functional, which effectively accounts for many-body effects. Here, we used the default generalized gradient approximation (GGA), which prefers the symmetry broken solution for most atoms.

Now, open the INCAR file of this example from the file browser, and add the tag SIGMA = 0.01. Then, run a fresh calculation! What is the result of setting SIGMA = 0.01?

Click to see an alternative way!

You will obtain:

stdout


 running on    2 total cores
 distrk:  each k-point on    2 cores,    1 groups
 distr:  one band on    1 cores,    2 groups
 vasp.6.2.1 16May21 (build Jun 06 2021 00:45:36) complex                        
    ....
    ....
DAV:  15    -0.189033389318E+01   -0.30871E-03   -0.44399E-05    48   0.517E-02    0.961E-03
DAV:  16    -0.189062353556E+01   -0.28964E-03   -0.39883E-05    40   0.293E-02    0.586E-03
DAV:  17    -0.189067302283E+01   -0.49487E-04   -0.32857E-06    48   0.132E-02
   1 F= -.18906730E+01 E0= -.18906730E+01  d E =-.290707E-20  mag=     1.9998
 writing wavefunctions

In other words, reducing the default value SIGMA = 0.2 to SIGMA = 0.01 causes the calculation to take more iterations until convergence is reached.

Apart from the symmetry, let us consider the effect of the SIGMA tag on the total energy. Find the following line in your OUTCAR file.

  energy without entropy =       -1.89067302  energy(sigma->0) =       -1.89067302

The value changes significantly! This shows that, if the energy of two calculations shall be compared, both calculations must use the same value of the SIGMA tag for the Gaussian broadening.

3.4 Questions

  1. How many space-group operations are imposed in the orthorhombic case according to your OUTCAR file?
  2. How can the input be changed to run a calculation with tetragonal symmetry ($D_{4h}$)?
  3. Can you compare the energies of calculations with different symmetry, if simultaneously SIGMA is changed?

Good job! You have finished Part 1 of this tutorial about atoms and molecules!