Let's say a supercell has 100 atoms, and we want to see how charge is transferred from/to an atom to/from its nearest neighbours. I am more interested in knowing how to do this with density functional theory (DFT).

Are charge-per-atom values, that any DFT code outputs, sufficient for the task?


The Bader Charge Analysis can do just this. If you can get your charge density into a CHGCAR format, you can use this program with any code. It will divide the charge density into volumes by looking at the zero flux surfaces between atoms. This is just one example of a atom in molecule analysis though, but one that is particularly robust for planewave based codes.


There are couple of options:

  1. Bader analysis
  2. Charge density difference (plot in vesta is easy). Take CHGCAR(A+B) and subtract CHGCAR(A) and CHGCAR(B). It can be easily done in vesta >edit> volumetric data
  3. Mulken population analysis (use chgmol programme)
  • 1
    $\begingroup$ +1. Welcome to the community !!! You might be interested in upvoting or commenting on some of these posts about various types of charge analysis (Bader and Mulliken both included): mattermodeling.stackexchange.com/a/1444/5 $\endgroup$ – Nike Dattani Nov 3 '20 at 23:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.