pyprocar icon indicating copy to clipboard operation
pyprocar copied to clipboard

Go from JM orbital basis to conventional basis

Open supratik1289 opened this issue 9 months ago • 3 comments

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,....?

supratik1289 avatar Mar 06 '25 18:03 supratik1289

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

uthpalaherath avatar Mar 06 '25 18:03 uthpalaherath

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:

Image

I am asking how to get the usual projections to dxy, dyz, dxz, dx2-y2 and dz2 orbitals from these?

supratik1289 avatar Mar 07 '25 18:03 supratik1289

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:

  1. git clone [email protected]:pietrodelugas/q-e.git
  2. cd q-e
  3. git checkout new_proj
  4. Install package.
  5. 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.

lllangWV avatar Mar 07 '25 19:03 lllangWV