Ni100 surface

Based on the three VASP wiki examples in the links 1, 2 and 3

Task: Perform a relaxation of the first two layers of a Ni (100) surface, thereafter calculate its DOS and bandstructure.

System-specific instructions

Select instructions for the system you are using:

Instructions for use on the NAISS cluster Tetralith (NSC)

First, copy the example folder which contains some of the VASP input files

cp -r /software/sse2/tetralith_el9/manual/vasp/training/ws2024/Ni100_surf .
cd Ni100_surf

and copy the latest POTCAR file for Ni

cp /software/sse2/tetralith_el9/manual/vasp/POTCARs/PBE/2024-03-19/Ni/POTCAR .

Input files

POSCAR

fcc (100) surface
 3.53
   .50000   .50000   .00000
  -.50000   .50000   .00000
   .00000   .00000  5.00000
Ni
  5
Selective Dynamics
Cartesian
   .00000   .00000   .00000 F F F
   .00000   .50000   .50000 F F F
   .00000   .00000  1.00000 F F F
   .00000   .50000  1.50000 T T T
   .00000   .00000  2.00000 T T T
  • Ni lattice constant a = 3.53Å

  • 1 atom per layer

  • 5 layers in total

  • Note “S” or “Selective dynamics” chosen in the line under number of atoms

INCAR

  ISTART = 0; ICHARG = 2

general:
  SYSTEM = clean Ni(100) surface
  ENCUT = 270 
  ISMEAR = 2 ; SIGMA = 0.2
  ALGO = Fast
  EDIFF = 1E-6

spin:
  ISPIN=2
  MAGMOM = 5*1

dynamic:
  NSW = 100
  POTIM = 0.8
  IBRION = 1
  • ISTART=0, static calculation (default)

  • ICHARG=2, initial charge-density from overlapping atoms (default if ISTART=0)

  • ENCUT=270, default energy cutoff 270 eV

  • ISMEAR=2, Methfessel-Paxton smearing used for metal

  • SIGMA=0.2, default smearing

  • ALGO=Fast, (default is Normal) first steps according to Davidson, thereafter RMM-DIIS, algorithms for electron minimization

  • EDIFF=1E-6,

  • ISPIN=2, gives a spin-polarized calculation

  • MAGMOM=5*1, for the 5 atoms in POSCAR an initial magnetic moment of 1 Bohr magnetons

  • NSW=100,

  • POTIM=0.8,

  • IBRION=1, ionic relaxation (RMM-DIIS)

KPOINTS

k-points
0
Monkhorst-Pack
9 9 1
0 0 0
  • Equally spaced k-mesh

  • Odd Monkhorst-Pack k-mesh > Gamma centered

  • Note, only one k-point in the z-direction for the surface

1. Surface relaxation

First, note how selective dynamics (S) works in the POSCAR file

Selective Dynamics
Cartesian
   .00000   .00000   .00000 F F F
   .00000   .50000   .50000 F F F
   .00000   .00000  1.00000 F F F
   .00000   .50000  1.50000 T T T
   .00000   .00000  2.00000 T T T

So, for relaxation F=False and T=True, so one sees that the two atoms at z=1.5 and 2.0 are able to move in all directions, while the three lower atoms (layers) are fixed.

  • For surface relaxations it’s typical to fix the bulk-like atoms in the bottom and let the ones close to the surface be able to relax

  • Alternatively, a symmetric supercell can be constructed with inner bulk-like layers

Submit the calculation to the queue

sbatch run.sh

and observe the relaxation e.g. with

cat OSZICAR

After the calculation is finished, compare the forces in OUTCAR between the first and the last step (e.g. using less).

First step:

 POSITION                                       TOTAL-FORCE (eV/Angst)
 -----------------------------------------------------------------------------------
      0.00000      0.00000      0.00000         0.000000      0.000000      0.419201
      0.00000      1.76500      1.76500         0.000000      0.000000     -0.401608
      0.00000      0.00000      3.53000         0.000000      0.000000     -0.002589
      0.00000      1.76500      5.29500         0.000000      0.000000      0.392849
      0.00000      0.00000      7.06000        -0.000000     -0.000000     -0.407852
 -----------------------------------------------------------------------------------
    total drift:                               -0.000000     -0.000000     -0.008050

Last step:

 POSITION                                       TOTAL-FORCE (eV/Angst)
 -----------------------------------------------------------------------------------
      0.00000      0.00000      0.00000        -0.000000      0.000000      0.425910
      0.00000      1.76500      1.76500         0.000000     -0.000000     -0.402950
      0.00000      0.00000      3.53000        -0.000000      0.000000     -0.023012
      0.00000      1.76500      5.29871        -0.000000      0.000000     -0.001056
     -0.00000     -0.00000      6.98070        -0.000000     -0.000000      0.001107
 -----------------------------------------------------------------------------------
    total drift:                                0.000000     -0.000000     -0.019988    

Check the obtained relaxed structure in CONTCAR:

fcc (100) surface                       
   3.53000000000000     
     0.5000000000000000    0.5000000000000000    0.0000000000000000
    -0.5000000000000000    0.5000000000000000    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.0000000000000000
   Ni
     5
Selective dynamics
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000   F   F   F
  0.5000000000000000  0.5000000000000000  0.1000000000000014   F   F   F
  0.0000000000000000  0.0000000000000000  0.2000000000000028   F   F   F
  0.5000000000000000  0.5000000000000000  0.3002099841022341   T   T   T
 -0.0000000000000000  0.0000000000000000  0.3955072458335201   T   T   T
  • Check the convergence using p4vasp or py4vasp

  • Compare surface energies following the example in the VASP wiki

  • What is the inward relaxation of the surface layers (compare VASP wiki)

  • Visualize the relaxation of the structure using p4vasp or py4vasp (follow VASP wiki figures)

2. Surface DOS

Now, in a new folder “dos”, calculate the local DOS for the relaxed Ni(100) surface using CONTCAR from the previous step

mkdir dos
cp CONTCAR dos/POSCAR
cp INCAR.dos dos/INCAR
cp POTCAR KPOINTS run.sh dos
cd dos

Also note that we use a new INCAR (from INCAR.dos) which looks like

general:
  SYSTEM = clean (100) Ni surface
  ENMAX = 270
  ISMEAR =   -5
  ALGO = Normal 

spin:
  ISPIN = 2
  MAGMOM = 5*1   

  LORBIT = 11  # lm and site decomposed DOS inside PAW spheres
  • ISMEAR=-5, the tetrahedron method with Blöchl corrections, suitable for DOS

  • ALGO=Normal, the default electron minimization algorithm

  • LORBIT=11, lm and site decomposed DOS

Run the calculation with

sbatch run.sh

After it finishes, at the end of OUTCAR, check the information on local charge and magnetization

 total charge     

# of ion       s       p       d       tot
------------------------------------------
    1        0.464   0.328   8.294   9.086
    2        0.488   0.483   8.309   9.280
    3        0.491   0.485   8.317   9.294
    4        0.498   0.505   8.334   9.338
    5        0.477   0.350   8.332   9.158
--------------------------------------------------
tot          2.418   2.151  41.586  46.156



 magnetization (x)

# of ion       s       p       d       tot
------------------------------------------
    1       -0.003  -0.021   0.751   0.727
    2       -0.008  -0.026   0.645   0.611
    3       -0.008  -0.026   0.636   0.602
    4       -0.008  -0.026   0.630   0.596
    5       -0.004  -0.021   0.725   0.700
--------------------------------------------------
tot         -0.032  -0.120   3.388   3.236
  • By setting LORBIT=1 and changing RWIGS, it’s possible to control the total number of electrons within the sphere

  • What can be said about the magnetic moments for the different layers?

  • Test to plot DOS using p4vasp/py4vasp, see figures at the end of the VASP wiki example

3. Surface bandstructure

Now, calculate the corresponding bandstructure for the relaxed Ni(100) surface structure. Go to the main folder “Ni100_surf” and there create the folder “band” and copy the needed files

mkdir band
cp CONTCAR band/POSCAR
cp INCAR.band band/INCAR
cp KPOINTS.band band/KPOINTS
cp POTCAR run.sh band
cd band

Also note that we use a new INCAR (from INCAR.band) which looks like

  ICHARG = 11
general:
  SYSTEM = clean (100) nickel surface
  ENMAX  = 270
  ISMEAR = 2 ; SIGMA = 0.2
  ALGO = Normal

spin:
  ISPIN = 2
  MAGMOM = 5*1

  LORBIT = 11
  • ICHARG=11, for a non-self consistent run using previously obtained CHGCAR

Copy CHGCAR

cp ../dos/CHGCAR .

This time KPOINTS for the bandstructure looks like

kpoints for band-structure G-X-M-G
  13
reziprok
   .00000   .00000   .00000    1
   .12500   .00000   .00000    1
   .25000   .00000   .00000    1
   .37500   .00000   .00000    1
   .50000   .00000   .00000    1

   .50000   .12500   .00000    1
   .50000   .25000   .00000    1
   .50000   .37500   .00000    1
   .50000   .50000   .00000    1

   .37500   .37500   .00000    1
   .25000   .25000   .00000    1
   .12500   .12500   .00000    1
   .00000   .00000   .00000    1  
  • 13 k-points along the line Gamma - X - M - Gamma

  • Reciprocal coordinates

  • Each point has weight 1

Submit the job

sbatch run.sh

and wait for it to finish.

Investigate the bandstructure, compare with the VASP wiki example.