# 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):

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.Now, we have CHGCAR, CONTCAR, POSCAR, INCAR, KPOINTS, jobscript files in the Bader_01 folder

cp CONTCAR POSCAR

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.qsub jobscript

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 AECCAR1The 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/Then combine them using this command: chgsum.pl AECCAR0 AECCAR2 > chgsum_output

CHGCAR_sum will be written

AVF.dat, BCF.dat

ONCE CALCULATION IS DONE:

- mkdir core-val_chg_method
- cp AECCAR0 AECCAR2 core-val_chg_method
- chgsum.pl AECCAR0 AECCAR2 --> CHGCAR_sum will be created, where CHGCAR_sum is the sum of AECCAR0 and AECCAR2
- bader CHGCAR -ref CHGCAR_sum > bader_output
- 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 - If you get an error message in the bader-vac1E-5_output file, then refer to the error note [1] below.
- Copy & paste ACF.dat into your Excel sheet.

A few notes on possible errors:

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=2837If 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