Page 1 of 1
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Mon Jan 11, 2010 12:38 am
by mukul
There are several questions regarding calculating COOP within VASP, however there is no useful answers to this? This would be an extremely useful thread if somebody comes with a vigorous idea about that. Any one of the following would be greatly appreciated,
1. If somebody has a ready script to calculate COOP or COHP (Crystal orbital Hamilton population) or both from the PROCAR. That would be really excellent.
2. If nobody has that, then a detailed description how to do that in steps from PROCAR!
Would great to get a detailed answers from those who has already dealt with this!
Would like to invite the VASP admin to help on this matter too. This would greatly help a lot of folks.
Many thanks in advance!
-Mukul
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Wed Jan 13, 2010 4:51 pm
by neweroica
Totally agree!!! I've seen many people here asking the same problem year by year but nobody says anything practical.
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Thu Jan 14, 2010 3:14 pm
by tlchan
The calculation of COOP and COHP require the eigenstates to be expressed as a linear combination of localized atomic-like orbitals. Since VASP uses plane waves, you have to construct localized orbitals from the eigenstates, for example using a Wannier-like scheme. However, there is no unique way to do it, and the construction is usually complicated. The difficulty to do bonding analysis is an intrinsic weakness of using plane waves as basis.
PROCAR is calculated by projecting some kind of atomic orbitals onto the eigenstates, and the projection is done by intergrating within a spherical region around an atom. Therefore, the calculated projections will not be normalized, and PROCAR is supposed to give a qualitative analysis of the bonding. I don't think you should calculate COOP or COHP using the results from PROCAR.
If you want to study charge transfer, you can refer to the sticky thread on Bader charge.
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Thu Jan 14, 2010 7:00 pm
by neweroica
I think that for calculating COOP one needs the overlap integrals bewteen atomic orbials. But these overlap integrals are not included in the PROCAR file. So I've been wondering why it has been claimed that PROCAR contains all information for calculating COOP ?
[quote="'smallblacktext'>[ Edited Thu Jan 14 2010, 08:01PM "]</span>
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Thu Jan 14, 2010 9:40 pm
by panda
Because you can apply a downfolding method - a Wannier-like scheme as tlchan stated, around the states near Ef.
PROCAR is calculated specifically by projecting spherical harmonics centered at each lattice site in the unit cell.
You can calculate the overlap integrals yourself using Wainner functions, and from this calculate the COOP.
I was under the impression that the band structure provided by PROCAR was actually a more accurate description of the band structure as the downfolding-method is an approximation while the spehrical harmonic projection uses DFT. I could be wrong though, this is just the understanding I have, that you use COOP or Wainner functions for fitting the band structure obtained from the PROCAR. So just parse the PROCAR and plot the band structure and this should give you most of the information you are looking for. If you want additional information then apply Bader charge analysis.
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Fri Jan 15, 2010 10:59 am
by neweroica
Hi panda,
Thank you very much!!! I think I've got the idea. Just one more question:
There are two blocks of the spd- data in PROCAR if LORBIT=2 is used. For instance:
band 1 # energy -20.57931908 # occ. 2.00000000
ion s py pz px dxy dyz dz2 dxz dx2 tot
1 0.031 0.001 0.001 0.001 0.000 0.000 0.000 0.000 0.000 0.035
2 0.029 0.003 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.033
3 0.099 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.099
... ... ... ... ... ... ... ... ... ... ...
tot 0.621 0.012 0.029 0.011 0.000 0.000 0.000 0.000 0.000 0.672
ion s py pz px dxy dyz dz2 dxz dx2
1 -0.442 0.084 0.079 -0.093 0.000 0.000 0.000 0.000 0.000
1 -0.065 0.012 0.012 -0.014 0.000 0.000 0.000 0.000 0.000
2 -0.429 0.133 -0.056 -0.035 0.000 0.000 0.000 0.000 0.000
2 -0.063 0.020 -0.008 -0.005 0.000 0.000 0.000 0.000 0.000
3 -0.791 -0.028 -0.011 0.020 0.000 0.000 0.000 0.000 0.000
3 -0.117 -0.004 -0.002 0.003 0.000 0.000 0.000 0.000 0.000
... ... ... ... ... ... ... ... ... ... ...
band 2 # energy -19.85477436 # occ. 2.00000000
... ... ... ... ... ... ... ... ... ... ...
I see that the second block (in blue color) of spd- data corresponds to phase factor. But, why does each atom have two lines of phase factor? I guessed it was for the real and imaginary parts of the crystal orbital coefficients, but then I noticed that even for Gamma-point both lines are non-zero. This is what I don't understand.
In addition, what's the meaning of the first block (in red color) of spd- data (just above the phase factors block)? Looking forward to your reply.
<span class='smallblacktext'>[ Edited Fri Jan 15 2010, 12:04PM ]</span>
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Fri Jan 15, 2010 10:30 pm
by panda
The red part is the site projected band structure, the blue part is the phase factor, and I have no clue why there are duplicate entries, this has always puzzled me. I have a python script that parses the PROCAR file, if you want I can give it to you. I am working on my blog right now and I will put that script up this weekend and send you the link if you would like. I have a bunch of scripts, actually, its just a matter of putting them up on the blog and explaining how they work, because I want people to actually understand how the scripts work so they can learn to program rather than just copying them and using them without understanding what is going on...
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Tue Jan 19, 2010 7:28 pm
by mukul
Hi Panda,
That would be great if you put your scripts with a bit description of that. I appreciate and would be useful for a lot of VASPers.
Calculating COOP (crystal orbital overlap population) within VASP
Posted: Mon May 02, 2011 9:27 pm
by ambiguousphoton
Hi everyone,
I just wanted to echo mukul's request for providing a script to calculate the COOP diagrams. I have been having a difficult time even finding script to deal with PROCAR files.
Thanks so much!