pyprocar
pyprocar copied to clipboard
Different result between DOS plots on 'parametric_line' vs 'stack' modes?
Dear PyProCar developers,
I encounter in my calculations that the amount of projected DOS, or DOS contribution from specific atom/orbitals is shown differently in magnitude when plotted with 'stack' and 'parametric_line' mode, respectively. I use version 5.6.5
In general, the overall shape and energy locations are similar, but the DOS amplitude contribution appear higher in 'stack' than in the parametric_line plots.
I check the tutorial page, and it seems that it is already seen here:
https://romerogroup.github.io/pyprocar/dos.html#mode-parametric-line https://romerogroup.github.io/pyprocar/dos.html#mode-stack
If we look at the oxygen p orbital contribution between -2.7 to -1.5 eV, for example, it is clearly shown that these contributions are higher in 'stack' mode as they almost cover the area under total DOS curve, while there is some uncovered space in the parametric_line mode.
I note that all O atoms are included in both plots, and. the other element contributions from Sr or V in the stack plot is negligible in this energy range, so they cannot explain this 0.8 - 1 a.u. DOS difference at -2.7 eV.
Because of this phenomena, I am seeing that if one uses the parametric line to plot separately all contributions from each element in a compound, say ABC, the individual contributions A+B+C won't sum up to match the total density of states curve. On the other hand, we can expect the individual contributions to sum up to the total DOS if we use the 'stack' modes.
May I know if this is expected? If so, what causes the parametric_line mode to show this different behavior? due to this finding, I do have doubts in the parametric_line mode. I hope you can help enlighten this problem for me.
Thank you. Alpin N. Tatan University of Tokyo
If I'm not mistaken the problem is a misunderstanding caused by semantics, the plot in stacked has the contributions stacked on top of each other rather than overlaying (overlapping). If the order of stacking is A and then B, the contribution of B starts where the contribution of A ends. Please let me know if the explanation helped. We will modify the documentation to better explain the generated plot
If I'm not mistaken the problem is a misunderstanding caused by semantics, the plot in stacked has the contributions stacked on top of each other rather than overlaying (overlapping). If the order of stacking is A and then B, the contribution of B starts where the contribution of A ends. Please let me know if the explanation helped. We will modify the documentation to better explain the generated plot
No, that's not it. I already knew the projections are stacked on top of each other. That does not explain this issue. Please see the 2nd and 3rd plots in https://github.com/romerogroup/pyprocar/issues/85#issuecomment-1236281412.
There is only one contribution projected in the example I gave on that comment, yet the 'stack' and 'parametric_line' give differing values for this py-projection (0.1 vs 0.05). Please explain this first.
This is just a guess, but is there some sort of normalization applied on the projection heights in the 'stack' mode that is perhaps aimed to match the total DOS?
Because in VASP, total DOS is not expected to be equal to sum of pDOSes. Yet if we use stack mode with all elements/orbitals included, we get the sum of pDOSes plotted very close (if not equalling) the height of total DOS.