Plotting lm-resolved PDOS

I have calculated the lm-resolved PDOS for the GaAs systems. For further analysis, I would like to plot the data for specific l and m. How should I extract specific l and m results from the data? I have checked the tutorial, but the script only covers the total DOS. Could you please share some information on how the file is saved, e.g., the order of l and m indices in the file? If there is an example/script to generate a PDOS plot, it would be kind of you to point me to that post. Thank you.

When you run a lm-resolved DOS many files are produced. Among them TDOS.OUT includes the total DOS, IDOS.OUT the interstitial DOS and for each atom and species will be generated a file named PDOS_S0*_A000*.OUT, where the stars are the number of the species and the atom, in the same order in which they are given in input.xml. Inside the files PDOS_S0*_A000*.OUT, the lm-resolved DOS are written one after the other. The first block it is for l=0 and m=0, the second block is for l=1 and m=-1 and the third l=1 and m=0 and like this until the end. In addition to these files also dos.xml will be written. This is written in xml format. In this file the information about atom, species, l and m (also spin if needed) are explicitly given. I hope this explanation will be useful.

1 Like

Thank you for your helpful reply. Based on your explanation, I was able to plot PDOS for systems without spin-orbit coupling. Recently, I have started to explore the PDOS of the same system but in the presence of the SOC. Inside the dos.xml, the value of “m” is not reported, and merely “l” values are given for each block of PDOS data. In my input.xml file, for both cases, I set
“lmirep=” true"
Why, for systems with “spinorb= true” my PDOS does not have m-values?

Could you send the dos.xml file? I search in one of my file and I found the PDOS for all the “l” and “m” channels. So I do not know which could be the reason!

Thanks for your reply. Here are dos.xml files for systems with(out) SOC.
dos_soc.xml (600.9 KB)
dos_nosoc.xml (2.5 MB)
In dos_soc.xml for the system with SOC, I can’t see all “l” and “m” values in the blocks for partial density of states. This is no longer the case when I have no SOC in my system.

Sorry for my previous answer, I now refreshed my memory. “m” is not a good quantum number in case of spin-orbit coupling. We realised this before the last realise and we corrected it in the code. In the new realise, when spinorb=“true”, we enforced the case lonly=“true”. In the terminal (or in the output file of the running script) the code should write “If lmirep=.true. and spin-orbit coupling is employed, only the l-resolved PDOS is printed in PDOS_Sss_Aaaaa.OUT”.

1 Like

Thanks for sharing this insight. This indeed makes sense.

Hi Shasa,
Can you please send me the link of this part of exciting that we can plot the PDOS? I really searched but couldn’t find it,
It would be very kind of you,

Hello Nasrin,

As far as I know, there is no available link.
You should write your own script to plot PDOS results.