kesterwong avatar

Calculating charge transfer using the Bader analysis method in VASP

kesterwong

Published: 27 Jun 2017 › Updated: 27 Jun 2017Calculating charge transfer using the Bader analysis method in VASP

Calculating charge transfer using the Bader analysis method in VASP

A step-by-step guide to performing charge transfer calculations on VASP, using the Bader analysis method. There can be two methods of extracting the charge transfer; (1) without the consideration of the core charge, i.e. valence charge only, and (2) with the inclusion of core + valence charges. We will focus on method (2) here.

Let's just say we have a slab consisting of graphene above Cu(111):

  1. Get the CHGCAR (as well as other necessary files) from the geometrically optimized SCF run, put into a new folder.
    For simplicity's sake we'll name it Bader_01.

  2. Now, we have CHGCAR, CONTCAR, POSCAR, INCAR, KPOINTS, jobscript files in the Bader_01 folder

  3. cp CONTCAR POSCAR

  4. Add this tag into your INCAR: LAECHG = .TRUE. (core charge will then be written in AECCAR0)
    Other parameters include: NSW=0, LWAVE = .FALSE., LCHARG = .TRUE.

  5. qsub jobscript

  6. The following files will be generated:
    AECCAR0, AECCAR1, AECCAR2
    Only pay attention to AECCAR0 (contains core charge) and AECCAR2 (contains valence charge), I usually delete AECCAR1

  7. The following scripts will be needed: (1) bader, and (2) chgsum.pl.
    They can be obtained from the Henkelman group web site:
    http://theory.cm.utexas.edu/henkelman/code/bader/

  8. Then combine them using this command: chgsum.pl AECCAR0 AECCAR2 > chgsum_output

  9. CHGCAR_sum will be written

AVF.dat, BCF.dat

ONCE CALCULATION IS DONE:

  1. mkdir core-val_chg_method
  2. cp AECCAR0 AECCAR2 core-val_chg_method
  3. chgsum.pl AECCAR0 AECCAR2 --> CHGCAR_sum will be created, where CHGCAR_sum is the sum of AECCAR0 and AECCAR2
  4. bader CHGCAR -ref CHGCAR_sum > bader_output
  5. If you get a relatively large vacuum charge, then you can consider using:
    bader CHGCAR -ref CHGCAR_sum -vac 1E-5 > bader-vac1E-5_output
  6. If you get an error message in the bader-vac1E-5_output file, then refer to the error note [1] below.
  7. Copy & paste ACF.dat into your Excel sheet.

A few notes on possible errors:

  1. If you get this error " ERROR: should be no new maxima in edge refinement"
    --> Then there might be a problem with the CHGCAR_sum figure.
    http://theory.cm.utexas.edu/forum/viewtopic.php?t=2417
    http://theory.cm.utexas.edu/forum/viewtopic.php?f=1&t=2837

  2. If you are including core charge (LAECHG = .TRUE.) in your calculation, then ACF.dat & BCF.dat should give the same partial charges. For calcs with fragmented volumes, then ACF.dat is better [http://theory.cm.utexas.edu/forum/viewtopic.php?t=1216].

*Credit: the Bader code is written by Graeme Henkelman's group at the University of Texas

Leave Calculating charge transfer using the Bader analysis method in VASP to:

Written by

Read more #vasp posts


Best Posts From kesterwong

We have not curated any of kesterwong's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From kesterwong