Re: [Wien] Characters of atoms in the fold2bloch bands.
Changes discussed below (proper weighted mixing of up/dn spin channels when SO coupling is enabled) are now implemented in a new version of fold2Bloch: https://github.com/rubel75/fold2Bloch-Wien2k Note: new '-so' execution option and changes in compilation. gfortran is not tested. Reports are welcome :) Thanks Oleg -- Oleg Rubel (PhD, PEng) Department of Materials Science and Engineering McMaster University JHE 359, 1280 Main Street West, Hamilton, Ontario L8S 4L8, Canada Email: rub...@mcmaster.ca Tel: +1-905-525-9140, ext. 24094 Web: http://olegrubel.mcmaster.ca On 2020-05-14 9:49 a.m., Oleg Rubel wrote: Thank you very much, Peter, for pointing the way! case.normsoup/dn is exactly what we need. I just looked up the norms for the valence band edge of GaAs (x4 degenerate states at Gamma). Here they are from case.normsoup 0.907085541766E+00 0.433544748129E+00 0.499707182587E+00 0.159662527518E+00 and case.normsodn 0.929144582341E-01 0.566455251871E+00 0.500292817413E+00 0.840337472482E+00 Pairs add up to 1 as expected for a norm. Each spin channel adds up to 2 indicating no dominant up/dn component (something I would expect for GaAs). But individual norms can be very different from 0.5, which needs an action. Eventually one could simply add the spectral weights, but probably one should weight them by the spin-up/dn norms in the case.normsoup/dn files. In that way one would get a proper representation (and eg. a small spectral weight in spin-dn does not matter if also its norm is small, i.e. if this eigenvalue is mainly spin-up. This can certainly be done, but it would be convenient if fold2Bloch can do it "under the hood". Files case.vectorsoup, case.vectorsodn, case.normsoup can be read simultaneously producing a single output file. Best regards Oleg ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
Thank you very much, Peter, for pointing the way! case.normsoup/dn is exactly what we need. I just looked up the norms for the valence band edge of GaAs (x4 degenerate states at Gamma). Here they are from case.normsoup 0.907085541766E+00 0.433544748129E+00 0.499707182587E+00 0.159662527518E+00 and case.normsodn 0.929144582341E-01 0.566455251871E+00 0.500292817413E+00 0.840337472482E+00 Pairs add up to 1 as expected for a norm. Each spin channel adds up to 2 indicating no dominant up/dn component (something I would expect for GaAs). But individual norms can be very different from 0.5, which needs an action. Eventually one could simply add the spectral weights, but probably one should weight them by the spin-up/dn norms in the case.normsoup/dn files. In that way one would get a proper representation (and eg. a small spectral weight in spin-dn does not matter if also its norm is small, i.e. if this eigenvalue is mainly spin-up. This can certainly be done, but it would be convenient if fold2Bloch can do it "under the hood". Files case.vectorsoup, case.vectorsodn, case.normsoup can be read simultaneously producing a single output file. Best regards Oleg ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
With SO there is only ONE band structure with twice as many eigenvalues and in principle each eigenvalue can be a combination of spin-up and dn. Of course, the spectral weight for up or dn channels could be different, since the up and dn contributions could be very different (nearly zero) in some cases. Eventually one could simply add the spectral weights, but probably one should weight them by the spin-up/dn norms in the case.normsoup/dn files. In that way one would get a proper representation (and eg. a small spectral weight in spin-dn does not matter if also its norm is small, i.e. if this eigenvalue is mainly spin-up. Am 13.05.2020 um 20:33 schrieb Oleg Rubel: Maybe it is a good time to clear up something for my understanding. So far, fold2Bloch processes case.vectorsoup/dn files independently. In reality, each eigenstate is a combination of two channels (up/dn) as shown on the 3rd slide in this nice presentation by Robert http://susi.theochem.tuwien.ac.at/events/ws2015/rolask_rela.pdf The question is: How to properly add results for Bloch spectral weights from both up/dn chanels? Perhaps we should take into account the relative contributiuon of up/dn components. I am not sure if this number is outputed anywhere for each state in WIEN2k? There was a discussion about spin projections (Sx, Sy, Sz) https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg19688.html but it is not the same. Should we be concerned about this only when we do "runsp_lapw -so" and not "run_lapw -so"? Any coments/ideas are welcome :) Best regards Oleg On 2020-05-12 9:25 p.m., Артем Тарасов wrote: Hello Oleg, yes, I am. The systems with SOC are the main field of my interests. Initially I was attempting to include QTL-information in unfolded bands exactly for their studying. So now I use the results of fold2bloch for the case.vectorsoup(dn) files, as well as the “x lapw2 -up (-dn) -qtl -so” procedure and its output files: case.qtlup and case.qtldn. It also allow me to see a realistic picture for spin-polarized bands, that was unable with using only the lapwso output. Sincerely yours, Artem Tarasov Department of Solid State Electronics Saint Petersburg State University. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html -- Peter Blaha Inst.Materials Chemistry TU Vienna Getreidemarkt 9 A-1060 Vienna Austria +43-1-5880115671 ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
Maybe it is a good time to clear up something for my understanding. So far, fold2Bloch processes case.vectorsoup/dn files independently. In reality, each eigenstate is a combination of two channels (up/dn) as shown on the 3rd slide in this nice presentation by Robert http://susi.theochem.tuwien.ac.at/events/ws2015/rolask_rela.pdf The question is: How to properly add results for Bloch spectral weights from both up/dn chanels? Perhaps we should take into account the relative contributiuon of up/dn components. I am not sure if this number is outputed anywhere for each state in WIEN2k? There was a discussion about spin projections (Sx, Sy, Sz) https://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/msg19688.html but it is not the same. Should we be concerned about this only when we do "runsp_lapw -so" and not "run_lapw -so"? Any coments/ideas are welcome :) Best regards Oleg On 2020-05-12 9:25 p.m., Артем Тарасов wrote: Hello Oleg, yes, I am. The systems with SOC are the main field of my interests. Initially I was attempting to include QTL-information in unfolded bands exactly for their studying. So now I use the results of fold2bloch for the case.vectorsoup(dn) files, as well as the “x lapw2 -up (-dn) -qtl -so” procedure and its output files: case.qtlup and case.qtldn. It also allow me to see a realistic picture for spin-polarized bands, that was unable with using only the lapwso output. Sincerely yours, Artem Tarasov Department of Solid State Electronics Saint Petersburg State University. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
Hello Oleg, yes, I am. The systems with SOC are the main field of my interests. Initially I was attempting to include QTL-information in unfolded bands exactly for their studying. So now I use the results of fold2bloch for the case.vectorsoup(dn) files, as well as the “x lapw2 -up (-dn) -qtl -so” procedure and its output files: case.qtlup and case.qtldn. It also allow me to see a realistic picture for spin-polarized bands, that was unable with using only the lapwso output. Sincerely yours, Artem Tarasov Department of Solid State Electronics Saint Petersburg State University. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
Hi Artem, what you describe sounds very interesting. It will be a QTL-resolved unfolded band structure. Are you doing calculations with SOC? Thanks Oleg On 2020-05-10 8:51 p.m., Артем Тарасов wrote: Hello Oleg, I’m sorry for that my question was not enough clear. Now I will try to describe my situation in terms of lapw1, lapw2 and fold2bloch output files. After completion of "lapw1 -band" I got eigenvalues of energy for all states in k-vectors that listed in case.klist_band. Then I can use the "lapw2 -qtl" procedure to find out the contribution of each atom of an unit cell in all (E,k)-states that were calculated by lapw1. Thus, I obtain the table with columns: k-vector, Energy, сontribution (of an atom or its orbital). If I apply fold2bloch on eigenstates in case.vector, I obtain the case.f2b file with columns: k-vector, Energy, the spectral Bloch weight. So I was trying to identify a total contribution of selected atoms in each state listed in case.f2b. To be honest, I think that I resolved this problem because I have obtained realistic results for my tests. I had examined the code of the fold2bloch procedure and have found that each k-vector in the original case.klist_band file transforms to some number of k-vector in the case.f2b file and this number is determined by the size of supercell (for example 1 k-vector of the 4x4x1 cell transforms to 16 new k-vectors). So to resolve my problem I just multiply the spectral Bloch weights that match these 16 k-vectors with the same energy eigenvalues on the value of an atomic сontribution for the folded (E,k)-state. Then I do this operation for all spectral Bloch weights of the unfolded (E,k)-states. I suppose that my procedure is quite acceptable and I get good results with it. When I tell about atomic contributions I mean partial charges, of course. Sincerely yours, Artem Tarasov Department of Solid State Electronics Saint Petersburg State University. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
Hello Oleg, I’m sorry for that my question was not enough clear. Now I will try to describe my situation in terms of lapw1, lapw2 and fold2bloch output files. After completion of "lapw1 -band" I got eigenvalues of energy for all states in k-vectors that listed in case.klist_band. Then I can use the "lapw2 -qtl" procedure to find out the contribution of each atom of an unit cell in all (E,k)-states that were calculated by lapw1. Thus, I obtain the table with columns: k-vector, Energy, сontribution (of an atom or its orbital). If I apply fold2bloch on eigenstates in case.vector, I obtain the case.f2b file with columns: k-vector, Energy, the spectral Bloch weight. So I was trying to identify a total contribution of selected atoms in each state listed in case.f2b. To be honest, I think that I resolved this problem because I have obtained realistic results for my tests. I had examined the code of the fold2bloch procedure and have found that each k-vector in the original case.klist_band file transforms to some number of k-vector in the case.f2b file and this number is determined by the size of supercell (for example 1 k-vector of the 4x4x1 cell transforms to 16 new k-vectors). So to resolve my problem I just multiply the spectral Bloch weights that match these 16 k-vectors with the same energy eigenvalues on the value of an atomic сontribution for the folded (E,k)-state. Then I do this operation for all spectral Bloch weights of the unfolded (E,k)-states. I suppose that my procedure is quite acceptable and I get good results with it. When I tell about atomic contributions I mean partial charges, of course. Sincerely yours, Artem Tarasov Department of Solid State Electronics Saint Petersburg State University. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Characters of atoms in the fold2bloch bands.
Hi Artem, could you please reshape the question? Perhaps using examples of your output? Did you try to use eigenvalues to "connect" eigenstates before and after unfolding? Thank you Oleg -- Oleg Rubel (PhD, PEng) Department of Materials Science and Engineering McMaster University JHE 359, 1280 Main Street West, Hamilton, Ontario L8S 4L8, Canada Email: rub...@mcmaster.ca Tel: +1-905-525-9140, ext. 24094 Web: http://olegrubel.mcmaster.ca On 2020-04-30 9:35 p.m., Artem Tarasov wrote: Dear all, Now I'm looking for the way of matching unfolded bands produced by the fold2bloch with the information about characters of different atoms in band structure, which is contained in the .qtl file after completion of the "lapw2 -qtl" procedure. Can I find out the links that exist between k-points in the initial supercell and the list of k-points of the 1x1 unit cell created by fold2bloch? Thanks for help. Sincerely yours, Artem Tarasov Department of Solid State Electronics Saint Petersburg State University. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html