Go from JM orbital basis to conventional basis
I am using pyprocar to get the orbital projected band structure based on non-colinear calculations in Quantum Espresso, Now, how do I select the orbitals in the JM basis to get the projections for the conventional basis orbitals px,py,pz,....?
Dear Supratik,
You can combine the spin projections with the parametric mode together to do this. Following the guidance from https://romerogroup.github.io/pyprocar/user-guide/bands.html, this could be something like:
pyprocar.bandsplot(code='vasp',dirname='bands',mode='parametric', spins=[1], orbitals=[1,2,3])
This would give projections of px, py and pz orbitals total in the Sx spin projection.
Hope that helps.
Best, Uthpala
On Thu, Mar 6, 2025 at 1:14 PM Supratik Sadhukhan @.***> wrote:
I am using pyprocar to get the orbital projected band structure based on non-colinear calculations in Quantum Espresso, Now, how do I select the orbitals in the JM basis to get the projections for the conventional basis orbitals px,py,pz,....?
— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/176, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3ZXMMRTRA6F6E3JK3QGUD2TCF7FAVCNFSM6AAAAABYPLHXMOVHI2DSMVQWIX3LMV43ASLTON2WKOZSHEYDCMJQGQYDCMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***> [image: supratik1289]supratik1289 created an issue (romerogroup/pyprocar#176) https://github.com/romerogroup/pyprocar/issues/176
I am using pyprocar to get the orbital projected band structure based on non-colinear calculations in Quantum Espresso, Now, how do I select the orbitals in the JM basis to get the projections for the conventional basis orbitals px,py,pz,....?
— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/176, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG3ZXMMRTRA6F6E3JK3QGUD2TCF7FAVCNFSM6AAAAABYPLHXMOVHI2DSMVQWIX3LMV43ASLTON2WKOZSHEYDCMJQGQYDCMQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>
--
Uthpala Herath, Ph.D. Postdoctoral Associate
Ab Initio Materials Simulations (AIMS) Group Department of Mechanical Engineering & Materials Science Duke University | Durham, NC
☎ (304) 216-2535 ✉ @.*** 🌐 www.uthpalaherath.com
I am using Quantum Espresso for which there is a separate mapping for the orbitals instead of the normal [1,2,3] for px, py, pz orbitals if the calculation involved is non-colinear, here is the mapping:
I am asking how to get the usual projections to dxy, dyz, dxz, dx2-y2 and dz2 orbitals from these?
Hey,
to get these projections it is somewhat more complicated. In base Quantum Espresso, for non-colinear calculations, they only provide the projections in the total angular momentum basis. Previously, we work with a developer on QE who created an implementation that would have calculated the projections in the uncoupled angular momentum basis and calculated the averages of the spin-components. Similar to what is is done in VASP.
To access this, however, you need to clone from a forked repository of quantum espresso. Unfortunately, since this is a forked repository it is not up to date with the latest release of quantum espresso.
I have instruction how to do this in the docs.
Here they are
Follow these steps to install the qe branch:
- git clone [email protected]:pietrodelugas/q-e.git
- cd q-e
- git checkout new_proj
- Install package.
- Set PATH to the bin directory in side q-e
Now, to perform the calculations set noncolin = .true. and lspinorb = .true. in the input of the PW input files (scf.in,nscf.in,bands.in,).
Also, set savesigma=.true. in the PROJWFC input files (kpdos.in,pdos.in).
Previously, I was trying to work on a implementation to convert from total angular momentum basis to the uncoupled momentum basis. This should be possible as the basis are related by the Clebsch-Gordan Coefficients, but I might be overlooking something in terms of the implementation. I can try to look into this again.