romerogroup / pyprocar

A Python library for electronic structure pre/post-processing
GNU General Public License v3.0
172 stars 76 forks source link

elk support? #144

Open recohen opened 7 months ago

recohen commented 7 months ago

I tried a simple dos with elk and get the below. But when I look at your parser page I don't even see elk. Yet pyprocar is still listed on the elk web site Very confused.

Thank you for any help,

Ron


pyprocar.dosplot( code='elk', mode='plain', fermi=0.3568473976, dirname="./")

ValueError Traceback (most recent call last) Cell In[22], line 1 ----> 1 pyprocar.dosplot( 2 code='elk', 3 mode='plain', 4 fermi=0.3568473976, 5 dirname=data_dir)

File /central/home/recohen/cohen_env/lib/python3.11/site-packages/pyprocar/scripts/scriptDosplot.py:278, in dosplot(code, dirname, mode, orientation, spins, atoms, orbitals, items, fermi, fermi_shift, elimit, dos_limit, savefig, labels, projection_mask, ax, show, print_plot_opts, **kwargs) 274 elif orientation[0].lower() == 'v': 275 orientation = 'vertical' --> 278 parser = io.Parser(code = code, dir = dirname) 279 dos = parser.dos 280 structure = parser.structure

File /central/home/recohen/cohen_env/lib/python3.11/site-packages/pyprocar/io/parser.py:26, in Parser.init(self, code, dir) 23 self.code = code 24 self.dir = dir ---> 26 self.parse()

File /central/home/recohen/cohen_env/lib/python3.11/site-packages/pyprocar/io/parser.py:60, in Parser.parse(self) 57 self.ebs.bands += self.ebs.efermi 59 if self.dos: ---> 60 self.dos.energies += self.dos.efermi 61 return None

ValueError: non-broadcastable output operand with shape (500,) doesn't match the broadcast shape (4,1,16,2,500)

lllangWV commented 7 months ago

Hey,

sorry for the issue! Recently, we changed it so the fermi energy has to be given the DensityOfStates class to initialize. I forgot to update the elk code.

I pushed the update to GitHub so clone the repository from there to have the updates. Here are the commands for that:

pip uninstall pyprocar
git clone git@github.com:romerogroup/pyprocar.git
cd pyprocar
pip install .

I will try to get this in the Pypi version as soon as possible. There are some further additions to the elk interface I would like to add before updating PyPi.

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'dos') HARTREE_TO_EV = 27.211386245988 pyprocar.dosplot( code=code, mode='plain', fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir)

image

Here are the bands as well:

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'ebs')

pyprocar.bandsplot( code=code, mode='plain', spins=[0,1], elimit=[-10,10], fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir) image

Logan Lang

recohen commented 7 months ago

Thank you! I will try it , Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Apr 18, 2024, at 4:24 PM, lllangWV @.***> wrote:

Hey,

sorry for the issue! Recently, we changed it so the fermi energy has to be given the DensityOfStates class to initialize. I forgot to update the elk code.

I pushed the update to GitHub so clone the repository from there to have the updates. Here are the commands for that:

pip uninstall pyprocar git clone @.***:romerogroup/pyprocar.git cd pyprocar pip install . I will try to get this in the Pypi version as soon as possible. There are some further additions to the elk interface I would like to add before updating PyPi.

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'dos') HARTREE_TO_EV = 27.211386245988 pyprocar.dosplot( code=code, mode='plain', fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/feae394d-4e79-4ca6-be87-999dd144168a Here are the bands as well:

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'ebs')

pyprocar.bandsplot( code=code, mode='plain', spins=[0,1], elimit=[-10,10], fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir) image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/9765d0f1-aa9f-43b9-888a-3e3a1b0a5360 Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2065242539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5JBJHMGTWKV4VMIEQ3Y6ATZFAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRVGI2DENJTHE. You are receiving this because you authored the thread.

recohen commented 7 months ago

Thank you so much! The plain mode for the TDOS works, but when I triy something else it fails like this:

code = "elk"

mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1]

data_dir = os.path.join('.')

HARTREE_TO_EV = 27.211386245988 atoms=[0] spins=[0] pyprocar.dosplot( atoms=atoms, spins=spins, code=code, mode='stack_orbitals', fermi=0.2561435*HARTREE_TO_EV, dirname=data_dir)

File ~/.local/lib/python3.9/site-packages/pyprocar/plotter/dos_plot.py:658, in DOSPlot.plot_stack_orbitals(self, atoms, spins, principal_q_numbers, overlay_mode, orientation) 654 atom_names = "" 655 if atoms: 656 print( 657 "The plot only considers atoms", --> 658 np.array(self.structure.atoms)[atoms], 659 ) 660 atom_names = "" 661 for ispc in np.unique(np.array(self.structure.atoms)[atoms]):

AttributeError: 'NoneType' object has no attribute 'atoms'

Not sure if I am doing something wrong!

Thank you again,

Sincerely,

Ron

On Apr 18, 2024, at 4:27 PM, Ronald Cohen @.***> wrote:

Thank you! I will try it , Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Apr 18, 2024, at 4:24 PM, lllangWV @.***> wrote:

Hey,

sorry for the issue! Recently, we changed it so the fermi energy has to be given the DensityOfStates class to initialize. I forgot to update the elk code.

I pushed the update to GitHub so clone the repository from there to have the updates. Here are the commands for that:

pip uninstall pyprocar git clone @.***:romerogroup/pyprocar.git cd pyprocar pip install . I will try to get this in the Pypi version as soon as possible. There are some further additions to the elk interface I would like to add before updating PyPi.

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'dos') HARTREE_TO_EV = 27.211386245988 pyprocar.dosplot( code=code, mode='plain', fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/feae394d-4e79-4ca6-be87-999dd144168a Here are the bands as well:

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'ebs')

pyprocar.bandsplot( code=code, mode='plain', spins=[0,1], elimit=[-10,10], fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir) image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/9765d0f1-aa9f-43b9-888a-3e3a1b0a5360 Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2065242539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5JBJHMGTWKV4VMIEQ3Y6ATZFAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRVGI2DENJTHE. You are receiving this because you authored the thread.

recohen commented 7 months ago

I can't get stack or other things to work either. Attached are all the files and dropbox link. Thank you!

Sincerely,

Ron  https://www.dropbox.com/scl/fi/mlh6bcxx9h9z1iuzy6myj/pbe.tar.gz?rlkey=u15sldm2ojovc7km8q1l2794w&dl=0

On Apr 21, 2024, at 2:47 PM, Ronald Cohen @.***> wrote:

Thank you so much! The plain mode for the TDOS works, but when I triy something else it fails like this:

code = "elk"

mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1]

data_dir = os.path.join('.')

HARTREE_TO_EV = 27.211386245988 atoms=[0] spins=[0] pyprocar.dosplot( atoms=atoms, spins=spins, code=code, mode='stack_orbitals', fermi=0.2561435*HARTREE_TO_EV, dirname=data_dir)

File ~/.local/lib/python3.9/site-packages/pyprocar/plotter/dos_plot.py:658, in DOSPlot.plot_stack_orbitals(self, atoms, spins, principal_q_numbers, overlay_mode, orientation) 654 atom_names = "" 655 if atoms: 656 print( 657 "The plot only considers atoms", --> 658 np.array(self.structure.atoms)[atoms], 659 ) 660 atom_names = "" 661 for ispc in np.unique(np.array(self.structure.atoms)[atoms]):

AttributeError: 'NoneType' object has no attribute 'atoms'

Not sure if I am doing something wrong!

Thank you again,

Sincerely,

Ron

On Apr 18, 2024, at 4:27 PM, Ronald Cohen @.***> wrote:

Thank you! I will try it , Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Apr 18, 2024, at 4:24 PM, lllangWV @.***> wrote:

Hey,

sorry for the issue! Recently, we changed it so the fermi energy has to be given the DensityOfStates class to initialize. I forgot to update the elk code.

I pushed the update to GitHub so clone the repository from there to have the updates. Here are the commands for that:

pip uninstall pyprocar git clone @.***:romerogroup/pyprocar.git cd pyprocar pip install . I will try to get this in the Pypi version as soon as possible. There are some further additions to the elk interface I would like to add before updating PyPi.

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'dos') HARTREE_TO_EV = 27.211386245988 pyprocar.dosplot( code=code, mode='plain', fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/feae394d-4e79-4ca6-be87-999dd144168a Here are the bands as well:

code = "elk" mag_type = ["non-spin-polarized","spin-polarized-colinear","non-colinear"][1] data_dir = os.path.join(PROJECT_DIR,'data','examples',"SrVO3",code,mag_type, 'ebs')

pyprocar.bandsplot( code=code, mode='plain', spins=[0,1], elimit=[-10,10], fermi=0.3218543102*HARTREE_TO_EV, dirname=data_dir) image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/9765d0f1-aa9f-43b9-888a-3e3a1b0a5360 Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2065242539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5JBJHMGTWKV4VMIEQ3Y6ATZFAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRVGI2DENJTHE. You are receiving this because you authored the thread.

lllangWV commented 7 months ago

Hey!

sorry for the late reply, I only have a couple of times a week to work on pyprocar. I looked into the issue, without going into details, it had to do with how the main parser got the DOS and Structure object.

This density of states looks a little strange with the giant peak near -5eV. I am just curious what does the band structure look like?

Here are the plots for the density of states for different modes:

pyprocar.dosplot(
                code=code,
                mode='parametric',
                orbitals=[4,5,6,7,8],
                # elimit=[-2,2],
                clim =[0,1],
                fermi=0.2561435077*HARTREE_TO_EV,
                dirname=data_dir)

image

pyprocar.dosplot(
                code=code,
                mode='parametric_line',
                orbitals=[4,5,6,7,8],
                # elimit=[-5,5],
                clim =[0,1],
                fermi=0.2561435077*HARTREE_TO_EV,
                dirname=data_dir)

image

pyprocar.dosplot(
                code=code,
                mode='stack_orbitals',
                # elimit=[-5,5],
                fermi=0.2561435077*HARTREE_TO_EV,
                dirname=data_dir)

image

pyprocar.dosplot(
                code=code,
                mode='stack_species',
                orbitals=[4,5,6,7,8],
                # elimit=[-5,5],
                fermi=0.2561435077*HARTREE_TO_EV,
                dirname=data_dir)

image

pyprocar.dosplot(
                code=code,
                mode='overlay_orbitals',
                # elimit=[-5,5],
                fermi=0.2561435077*HARTREE_TO_EV,
                dirname=data_dir)

image

pyprocar.dosplot(
                code=code,
                mode='overlay_species',
                orbitals=[4,5,6,7,8],
                # elimit=[-5,5],
                fermi=0.2561435077*HARTREE_TO_EV,
                dirname=data_dir)

image

Logan Lang

lllangWV commented 7 months ago

I forgot to mention, I pushed these updates to Git Hub repo, so get the updated version from there.

Logan Lang

recohen commented 7 months ago

Thanks! This is to be expected. So I wonder why the Fermi level is needed as input when elk actually makes all the dos files have 0 as the Fermi level. Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Tue, Apr 23, 2024 at 12:15 PM lllangWV @.***> wrote:

Hey!

sorry for the late reply, I only have a couple of times a week to work on pyprocar. I looked into the issue, without going into details, it had to do with how the main parser got the DOS and Structure object.

This density of states looks a little strange with the giant peak near -5eV. I am just curious what does the band structure look like?

Here are the plots for the density of states for different modes:

pyprocar.dosplot( code=code, mode='parametric', orbitals=[4,5,6,7,8],

elimit=[-2,2],

            clim =[0,1],
            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/b9f26a05-a38e-446b-9e00-506128e1ae3c

pyprocar.dosplot( code=code, mode='parametric_line', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            clim =[0,1],
            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/f43e7bc6-a283-4ec6-9d51-d65c2b3a0329

pyprocar.dosplot( code=code, mode='stack_orbitals',

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/69572b79-6ea0-470f-86b6-65f3d5c0eb7a

pyprocar.dosplot( code=code, mode='stack_species', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/b6b04e8d-e3f0-4a3a-bcb8-4751ab51ad6f

pyprocar.dosplot( code=code, mode='overlay_orbitals',

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/d74e3587-b517-43f2-95ca-306090593439

pyprocar.dosplot( code=code, mode='overlay_species', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/c0ddca9f-eb78-4885-80f2-57d3e63d732c

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2072846516, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5PBXTI347LTOIWH34DY62CKHAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSHA2DMNJRGY . You are receiving this because you authored the thread.Message ID: @.***>

recohen commented 7 months ago

overlay_orbitals is only labeling d states. Is there a way to also plotf states? Thanks!

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Tue, Apr 23, 2024 at 12:15 PM lllangWV @.***> wrote:

Hey!

sorry for the late reply, I only have a couple of times a week to work on pyprocar. I looked into the issue, without going into details, it had to do with how the main parser got the DOS and Structure object.

This density of states looks a little strange with the giant peak near -5eV. I am just curious what does the band structure look like?

Here are the plots for the density of states for different modes:

pyprocar.dosplot( code=code, mode='parametric', orbitals=[4,5,6,7,8],

elimit=[-2,2],

            clim =[0,1],
            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/b9f26a05-a38e-446b-9e00-506128e1ae3c

pyprocar.dosplot( code=code, mode='parametric_line', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            clim =[0,1],
            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/f43e7bc6-a283-4ec6-9d51-d65c2b3a0329

pyprocar.dosplot( code=code, mode='stack_orbitals',

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/69572b79-6ea0-470f-86b6-65f3d5c0eb7a

pyprocar.dosplot( code=code, mode='stack_species', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/b6b04e8d-e3f0-4a3a-bcb8-4751ab51ad6f

pyprocar.dosplot( code=code, mode='overlay_orbitals',

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/d74e3587-b517-43f2-95ca-306090593439

pyprocar.dosplot( code=code, mode='overlay_species', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/c0ddca9f-eb78-4885-80f2-57d3e63d732c

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2072846516, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5PBXTI347LTOIWH34DY62CKHAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSHA2DMNJRGY . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 7 months ago

Hey!

We require users to specify the Fermi energy to maintain a consistent functional interface across various DFT codes. Our goal is for dosplot and bandsplot functions to have uniform arguments for all DFT codes, differing only in the code argument. However, there are challenges in standardizing the Fermi energy across different DFT codes.

For instance, with VASP, the Fermi energy in the bands or density of states directory is not the self-consistent Fermi energy, which is located in a different directory. This complicates maintaining a uniform interface.

While ELK naturally sets the Fermi energy to 0, solving this issue, we initially decided to standardize the interface by requiring all users, regardless of the DFT code, to specify the Fermi energy.

Thinking about this more, I am exploring alternative solutions that could exempt users from specifying the Fermi energy when it is available in the same directory used by bandsplot or dosplot. This would be the case for Quantum Espress and ELK.

I'll see what I can do, and let you know!

recohen commented 7 months ago

I think I am getting this sorted. Thank you! It is working now!

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Thu, Apr 25, 2024 at 2:58 PM Ronald Cohen @.***> wrote:

overlay_orbitals is only labeling d states. Is there a way to also plotf states? Thanks!

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Tue, Apr 23, 2024 at 12:15 PM lllangWV @.***> wrote:

Hey!

sorry for the late reply, I only have a couple of times a week to work on pyprocar. I looked into the issue, without going into details, it had to do with how the main parser got the DOS and Structure object.

This density of states looks a little strange with the giant peak near -5eV. I am just curious what does the band structure look like?

Here are the plots for the density of states for different modes:

pyprocar.dosplot( code=code, mode='parametric', orbitals=[4,5,6,7,8],

elimit=[-2,2],

            clim =[0,1],
            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/b9f26a05-a38e-446b-9e00-506128e1ae3c

pyprocar.dosplot( code=code, mode='parametric_line', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            clim =[0,1],
            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/f43e7bc6-a283-4ec6-9d51-d65c2b3a0329

pyprocar.dosplot( code=code, mode='stack_orbitals',

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/69572b79-6ea0-470f-86b6-65f3d5c0eb7a

pyprocar.dosplot( code=code, mode='stack_species', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/b6b04e8d-e3f0-4a3a-bcb8-4751ab51ad6f

pyprocar.dosplot( code=code, mode='overlay_orbitals',

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/d74e3587-b517-43f2-95ca-306090593439

pyprocar.dosplot( code=code, mode='overlay_species', orbitals=[4,5,6,7,8],

elimit=[-5,5],

            fermi=0.2561435077*HARTREE_TO_EV,
            dirname=data_dir)

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/c0ddca9f-eb78-4885-80f2-57d3e63d732c

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2072846516, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5PBXTI347LTOIWH34DY62CKHAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSHA2DMNJRGY . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 7 months ago

For the overlay_orbtial not displaying the f orbitals. It should include f orbitals

image

recohen commented 7 months ago

Thanks! That sounds like a good idea,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Thu, Apr 25, 2024 at 3:29 PM lllangWV @.***> wrote:

Hey!

We require users to specify the Fermi energy to maintain a consistent functional interface across various DFT codes. Our goal is for dosplot and bandsplot functions to have uniform arguments for all DFT codes, differing only in the code argument. However, there are challenges in standardizing the Fermi energy across different DFT codes.

For instance, with VASP, the Fermi energy in the bands or density of states directory is not the self-consistent Fermi energy, which is located in a different directory. This complicates maintaining a uniform interface.

While ELK naturally sets the Fermi energy to 0, solving this issue, we initially decided to standardize the interface by requiring all users, regardless of the DFT code, to specify the Fermi energy.

Thinking about this more, I am exploring alternative solutions that could exempt users from specifying the Fermi energy when it is available in the same directory used by bandsplot or dosplot. This would be the case for Quantum Espress and ELK.

I'll see what I can do, and let you know!

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2078029369, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5NAVQUWCTEOYZ4CFILY7FKRNAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZYGAZDSMZWHE . You are receiving this because you authored the thread.Message ID: @.***>

recohen commented 6 months ago

Dear Logan Lang,

I am trying now to use VASP for this system as I have been having problems with ELK. So now I am trying to use pyprocar with vasp. It runs fine except does not plot f-orbitals. This I think is a problem with my VASP run actually. I wonder if you have any suggestions?

Here is the INCAR:

d2C6B6 SYSTEM = "Nd2C6B6"

Electronic minimization ENCUT = 500 EDIFF = 1E-7 LORBIT = 11 (Trying 14 now) LREAL = Auto ISYM = 2 LSORBIT = .True.

DOS ISMEAR = -5 ICHARG - 11

Magnetism ISPIN = 2 MAGMOM = 0 0 2 0 0 -2 36*0 SAXIS = 0 0 1

Orbital Moment LORBMOM = T

Mixer AMIX = 0.2 BMIX = 0.00001 AMIX_MAG = 0.8 BMIX_MAG = 0.00001

Attached is what the DOS looks like. There should be Nd f-states. I am using theNd PAW which I think includes f-states in valence:

Atomic configuration 14 entries n l j E occ. 1 0 0.50 -43392.6566 2.0000 2 0 0.50 -7020.4058 2.0000 2 1 1.50 -6275.1064 6.0000 3 0 0.50 -1525.9247 2.0000 3 1 1.50 -1291.0088 6.0000 3 2 2.50 -965.4525 10.0000 4 0 0.50 -306.0301 2.0000 4 1 1.50 -229.0473 6.0000 4 2 2.50 -119.6721 10.0000 5 2 2.50 -2.4140 0.5000 4 3 2.50 -4.1737 3.5000 5 0 0.50 -42.0344 2.0000 6 0 0.50 -3.7006 2.0000 5 1 1.50 -23.3535 6.0000 Description l E TYP RCUT TYP RCUT 2 -2.4139946 23 2.300 2 13.6058260 23 2.300 3 -4.1737087 23 2.400 3 -5.5342913 23 2.400 0 -42.0343931 23 1.550 0 -3.7005734 23 2.350 1 -23.3534934 23 2.000 1 -24.7140760 23 2.000

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Thu, Apr 25, 2024 at 3:31 PM lllangWV @.***> wrote:

For the overlay_orbtial not displaying the f orbitals. It should include f orbitals

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/e6317594-effb-4ad6-a22d-d094be3ae8d8

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2078032392, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LOF3DHSQ5GWTTWR53Y7FKYXAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZYGAZTEMZZGI . You are receiving this because you authored the thread.Message ID: @.***>

recohen commented 6 months ago

So sorry--stupid question! I used a Nd PAW with f in the core!!

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Wed, May 29, 2024 at 2:10 PM Ronald Cohen @.***> wrote:

Dear Logan Lang,

I am trying now to use VASP for this system as I have been having problems with ELK. So now I am trying to use pyprocar with vasp. It runs fine except does not plot f-orbitals. This I think is a problem with my VASP run actually. I wonder if you have any suggestions?

Here is the INCAR:

d2C6B6 SYSTEM = "Nd2C6B6"

Electronic minimization ENCUT = 500 EDIFF = 1E-7 LORBIT = 11 (Trying 14 now) LREAL = Auto ISYM = 2 LSORBIT = .True.

DOS ISMEAR = -5 ICHARG - 11

Magnetism ISPIN = 2 MAGMOM = 0 0 2 0 0 -2 36*0 SAXIS = 0 0 1

Orbital Moment LORBMOM = T

Mixer AMIX = 0.2 BMIX = 0.00001 AMIX_MAG = 0.8 BMIX_MAG = 0.00001

Attached is what the DOS looks like. There should be Nd f-states. I am using theNd PAW which I think includes f-states in valence:

Atomic configuration 14 entries n l j E occ. 1 0 0.50 -43392.6566 2.0000 2 0 0.50 -7020.4058 2.0000 2 1 1.50 -6275.1064 6.0000 3 0 0.50 -1525.9247 2.0000 3 1 1.50 -1291.0088 6.0000 3 2 2.50 -965.4525 10.0000 4 0 0.50 -306.0301 2.0000 4 1 1.50 -229.0473 6.0000 4 2 2.50 -119.6721 10.0000 5 2 2.50 -2.4140 0.5000 4 3 2.50 -4.1737 3.5000 5 0 0.50 -42.0344 2.0000 6 0 0.50 -3.7006 2.0000 5 1 1.50 -23.3535 6.0000 Description l E TYP RCUT TYP RCUT 2 -2.4139946 23 2.300 2 13.6058260 23 2.300 3 -4.1737087 23 2.400 3 -5.5342913 23 2.400 0 -42.0343931 23 1.550 0 -3.7005734 23 2.350 1 -23.3534934 23 2.000 1 -24.7140760 23 2.000

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Thu, Apr 25, 2024 at 3:31 PM lllangWV @.***> wrote:

For the overlay_orbtial not displaying the f orbitals. It should include f orbitals

image.png (view on web) https://github.com/romerogroup/pyprocar/assets/120115419/e6317594-effb-4ad6-a22d-d094be3ae8d8

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2078032392, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LOF3DHSQ5GWTTWR53Y7FKYXAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZYGAZTEMZZGI . You are receiving this because you authored the thread.Message ID: @.***>

recohen commented 5 months ago

Dear Logan Lang,

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot. I attach the figures and inputs and the VASP run. I would greatly appreciate it if you could look at this. Also, I don't understand what you were saying about VASP needing two directories. It seems to me that the Fermi level and DOS are in the same directory. The files are here: https://www.dropbox.com/scl/fi/vsric227ofsq36p3p5epc/SOdos.tar.gz?rlkey=vu1bkw5ijapvkpew8fk1zjwdz&dl=0

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Tue, Apr 23, 2024 at 12:18 PM lllangWV @.***> wrote:

I forgot to mention, I pushed these updates to Git Hub repo, so get the updated version from there.

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2072851916, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LQU722JCUNQMTDIBLY62CUBAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSHA2TCOJRGY . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 5 months ago

Hey Ron,

I'll take a look! Hopefully, I can get to it today, but if not the next couple days I will.

Also, I don't understand what you were saying about VASP needing two directories. It seems to me that the Fermi level and DOS are in the same directory.

What I was referring to is if you compare the OUTCAR file when you run a non-self consistent to the OUTCAR file of a self-consistent file. They are not guaranteed to be the same. I have personally, noticed this in some calculations I have performed. Ideally, the Fermi energy in a non-self-consistent calculation should be very close to that of the self-consistent calculation if the charge density is well-converged and if the same k-points and smearing methods are used. However, there can be slight differences due to the different treatment of electron density updates.

This is not a problem in other codes because they have a system to retain the self-consistent fermi energy in subsequent non-self-consistent calculations.

Logan

recohen commented 5 months ago

I am wondering if you had a chance to look at this. Thanks, Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Fri, May 31, 2024 at 2:50 PM lllangWV @.***> wrote:

Hey Ron,

I'll take a look! Hopefully, I can get to it today, but if not the next couple days I will.

Also, I don't understand what you were saying about VASP needing two directories. It seems to me that the Fermi level and DOS are in the same directory.

What I was referring to is if you compare the OUTCAR file when you run a non-self consistent to the OUTCAR file of a self-consistent file. They are not guaranteed to be the same. I have personally, noticed this in some calculations I have performed. Ideally, the Fermi energy in a non-self-consistent calculation should be very close to that of the self-consistent calculation if the charge density is well-converged and if the same k-points and smearing methods are used. However, there can be slight differences due to the different treatment of electron density updates.

This is not a problem in other codes because they have a system to retain the self-consistent fermi energy in subsequent non-self-consistent calculations.

Logan

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2142812468, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5PUQSCFFNSF7ZBBUYTZFDBABAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBSHAYTENBWHA . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 5 months ago

Hey Ron,

I am sorry it slipped my mind. I'm taking a look at it now. Could you also send me the POSCAR file too, I can't plot without it.

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot.

So for a spin-orbit calculation in vasp, it will automatically turn the LNONCOLINEAR flag on, so you should only see one spin. This is because there is there is no definition of spin-up or spin-down in noncolinear calculations. What you see in the PROCAR is the projected magnetizations. You can find the exact definition here PROCAR at the bottom of the page.

The blocks represent the following:

  1. The first set is the total (absolute magnetization)
  2. The second is the x-projection of the spin
  3. The third is the y-projection
  4. The third is the z-projection

When you are dealing with a non-colinear calculation in pyprocar you can specify which projection you would like to see with the following.

In this plot, the color scale represents the contribution of the d-orbitals of the first atom to the total magnetization

atoms=[0] orbitals=[4,5,6,7,8] spins=[0] pyprocar.dosplot( code='vasp', mode='parametric', fermi=5.5962, atoms=atoms, orbitals=orbitals, spins=spins, dirname=data_dir)

Changing spins=[1] would represents the contribution of the d-orbitals of the first atom to the x-projection magnetization. Changing spins=[2] would represents the contribution of the d-orbitals of the first atom to the y-projection magnetization. Changing spins=[3] would represents the contribution of the d-orbitals of the first atom to the z-projection magnetization.

# of k-points:   90         # of bands:  128         # of ions:   14

 k-point     1 :    0.00000000 0.00000000 0.00000000     weight = 0.00195312

band     1 # energy  -27.58781017 # occ.  1.00000000

ion      s     py     pz     px    dxy    dyz    dz2    dxz  x2-y2  fy3x2   fxyz   fyz2    fz3   fxz2   fzx2    fx3    tot
    1  0.469  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.469
    2  0.469  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.469
    3  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    4  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    5  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    6  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    7  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    8  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    9  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   10  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   11  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   12  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   13  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   14  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
tot    0.941  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.941

    1 -0.000 -0.000 -0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000
    2  0.000 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000
    3 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
    4 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
    5  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    6  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    7  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    8 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
    9  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   10  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   11 -0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
   12 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
   13  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   14 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
tot    0.000 -0.000 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000 -0.000  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000

    1 -0.000  0.000 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000
    2  0.000 -0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000  0.000 -0.000  0.000
    3 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
    4 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
    5  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    6  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    7  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    8 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
    9  0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   10  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   11 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
   12 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
   13 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
   14  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
tot   -0.000 -0.000  0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000  0.000 -0.000 -0.000

    1  0.469  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000  0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000  0.469
    2  0.469  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000 -0.000 -0.000 -0.000  0.000  0.469
    3  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    4  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    5  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    6  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    7  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    8  0.000 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    9  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   10  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   11  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   12  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   13  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
   14  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
tot    0.941  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000  0.000 -0.000 -0.000 -0.000 -0.000 -0.000  0.000  0.941

Logan Lang

recohen commented 5 months ago

Dear Logan Lang,

Thank you so much for this. It has been a while but I was stuck doing other things. So now if something is ferromagnetic how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much,

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Mon, Jun 3, 2024 at 11:57 AM lllangWV @.***> wrote:

Hey Ron,

I am sorry it slipped my mind. I'm taking a look at it now. Could you also send me the POSCAR file too, I can't plot without it.

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot.

So for a spin-orbit calculation in vasp, it will automatically turn the LNONCOLINEAR flag on, so you should only see one spin. This is because there is there is no definition of spin-up or spin-down in noncolinear calculations. What you see in the PROCAR is the projected magnetizations. You can find the exact definition here PROCAR https://www.vasp.at/wiki/index.php/PROCAR at the bottom of the page.

The blocks represent the following are as follow:

  1. The first set is the total (absolute magnetization)
  2. The second is the x-projection of the spin
  3. The third is the y-projection
  4. The third is the z-projection

When you are dealing with a non-colinear calculation in pyprocar you can specify which projection you would like to see with the following.

In this plot, the color scale represents the contribution of the d-orbitals of the first atom to the total magnetization

atoms=[0] orbitals=[4,5,6,7,8] spins=[0] pyprocar.dosplot( code='vasp', mode='parametric', fermi=5.5962, atoms=atoms, orbitals=orbitals, spins=spins, dirname=data_dir)

Changing spins=[1] would represents the contribution of the d-orbitals of the first atom to the x-projection magnetization. Changing spins=[2] would represents the contribution of the d-orbitals of the first atom to the y-projection magnetization. Changing spins=[3] would represents the contribution of the d-orbitals of the first atom to the z-projection magnetization.

of k-points: 90 # of bands: 128 # of ions: 14

k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00195312

band 1 # energy -27.58781017 # occ. 1.00000000

ion s py pz px dxy dyz dz2 dxz x2-y2 fy3x2 fxyz fyz2 fz3 fxz2 fzx2 fx3 tot 1 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 2 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 3 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.941

1 -0.000 -0.000 -0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000
2  0.000 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000
3 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
4 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
5  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
6  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
7  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
8 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
9  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000

10 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 tot 0.000 -0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000

1 -0.000  0.000 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000
2  0.000 -0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000  0.000 -0.000  0.000
3 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
4 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
5  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
6  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
7  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
8 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
9  0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000

10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 14 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot -0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000

1  0.469  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000  0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000  0.469
2  0.469  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000 -0.000 -0.000 -0.000  0.000  0.469
3  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
4  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
5  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
6  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
7  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
8  0.000 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
9  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000

10 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 0.941

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2145576869, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5KBD5TZMBDLQ46KSW3ZFSG7PAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBVGU3TMOBWHE . You are receiving this because you authored the thread.Message ID: @.***>

ahromero commented 5 months ago

Ron

Is this for VASP or Quantum Espresso?.... can you share the line you used?

Thanks

__::::__ Prof. Aldo Humberto Romero Director Research Computing, West Virginia University Eberly Family Distinguished Professor Fellow American Physical Society Editor Physica B, Assistant Editor EPJB, Editor Frontiers in Physics Section Editor Papers in Physics Member of the Editorial Board of “Materials” and “Symmetry Physics” https://scholar.google.com/citations?user=pwte-hQAAAAJ&hl=en

Physics and Astronomy Department West Virginia University 135 Willey Street, PO Box 6315 111 White Hall Morgantown, WV 26506 Phone: 304-293-6317 Fax: 304-293-5732 email: @.***

From: Ronald Cohen @.> Date: Friday, June 21, 2024 at 2:14 PM To: romerogroup/pyprocar @.> Cc: Subscribed @.***> Subject: Re: [romerogroup/pyprocar] elk support? (Issue #144) Dear Logan Lang,

Thank you so much for this. It has been a while but I was stuck doing other things. So now if something is ferromagnetic how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much,

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Mon, Jun 3, 2024 at 11:57 AM lllangWV @.***> wrote:

Hey Ron,

I am sorry it slipped my mind. I'm taking a look at it now. Could you also send me the POSCAR file too, I can't plot without it.

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot.

So for a spin-orbit calculation in vasp, it will automatically turn the LNONCOLINEAR flag on, so you should only see one spin. This is because there is there is no definition of spin-up or spin-down in noncolinear calculations. What you see in the PROCAR is the projected magnetizations. You can find the exact definition here PROCAR https://www.vasp.at/wiki/index.php/PROCAR at the bottom of the page.

The blocks represent the following are as follow:

  1. The first set is the total (absolute magnetization)
  2. The second is the x-projection of the spin
  3. The third is the y-projection
  4. The third is the z-projection

When you are dealing with a non-colinear calculation in pyprocar you can specify which projection you would like to see with the following.

In this plot, the color scale represents the contribution of the d-orbitals of the first atom to the total magnetization

atoms=[0] orbitals=[4,5,6,7,8] spins=[0] pyprocar.dosplot( code='vasp', mode='parametric', fermi=5.5962, atoms=atoms, orbitals=orbitals, spins=spins, dirname=data_dir)

Changing spins=[1] would represents the contribution of the d-orbitals of the first atom to the x-projection magnetization. Changing spins=[2] would represents the contribution of the d-orbitals of the first atom to the y-projection magnetization. Changing spins=[3] would represents the contribution of the d-orbitals of the first atom to the z-projection magnetization.

of k-points: 90 # of bands: 128 # of ions: 14

k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00195312

band 1 # energy -27.58781017 # occ. 1.00000000

ion s py pz px dxy dyz dz2 dxz x2-y2 fy3x2 fxyz fyz2 fz3 fxz2 fzx2 fx3 tot 1 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 2 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 3 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.941

1 -0.000 -0.000 -0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 2 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 3 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 4 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 5 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 9 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 tot 0.000 -0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000

1 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 2 0.000 -0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 -0.000 0.000 3 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 4 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 5 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 9 0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 14 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot -0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000

1 0.469 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.469 2 0.469 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 0.469 3 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 0.941

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2145576869, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5KBD5TZMBDLQ46KSW3ZFSG7PAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBVGU3TMOBWHE . You are receiving this because you authored the thread.Message ID: @.***>

— Reply to this email directly, view it on GitHubhttps://github.com/romerogroup/pyprocar/issues/144#issuecomment-2183218296, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB24DTIHPZZWAI33LY5DV3DZIRUO7AVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGIYTQMRZGY. You are receiving this because you are subscribed to this thread.Message ID: @.***>

recohen commented 5 months ago

Arggh. I am trying to run on another machine, and am getting: pyprocar.dosplot(code='vasp', mode='plain', elimit=[-10, 10], fermi=9.739484, orientation='horizontal', dirname='.', spins=spins,

labels=[r'$\uparrow$', r'$\downarrow$'],

              title=r'Total Density of States$')

AttributeError Traceback (most recent call last) Cell In[5], line 1 ----> 1 pyprocar.dosplot(code='vasp', 2 mode='plain', 3 elimit=[-10, 10], 4 fermi=10.0992, 5 orientation='horizontal', 6 dirname='.', 7 spins=spins, 8 #labels=[r'$\uparrow$', r'$\downarrow$'], 9 title=r'Total Density of States$')

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/scripts/scriptDosplot.py:278, in dosplot(code, dirname, mode, orientation, spins, atoms, orbitals, items, fermi, fermi_shift, elimit, dos_limit, savefig, labels, projection_mask, ax, show, print_plot_opts, **kwargs) 274 elif orientation[0].lower() == 'v': 275 orientation = 'vertical' --> 278 parser = io.Parser(code = code, dir = dirname) 279 dos = parser.dos 280 structure = parser.structure

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/io/parser.py:26, in Parser.init(self, code, dir) 23 self.code = code 24 self.dir = dir ---> 26 self.parse()

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/io/parser.py:48, in Parser.parse(self) 45 self.parse_siesta() 47 elif self.code == "vasp": ---> 48 self.parse_vasp() 50 elif self.code == "elk": 51 self.parse_elk()

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/io/parser.py:267, in Parser.parse_vasp(self) 262 except Exception as e: 263 self.kpath=None --> 267 procar = vasp.Procar( 268 filename=procar, 269 structure=poscar.structure, 270 reciprocal_lattice=poscar.structure.reciprocal_lattice, 271 kpath=self.kpath, 272 n_kx=outcar.n_kx, 273 n_ky=outcar.n_ky, 274 n_kz=outcar.n_kz, 275 efermi=outcar.efermi, 276 interpolation_factor=1 277 ) 279 try: 280 vasprun = vasp.VaspXML(filename = vasprun)

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/io/vasp.py:618, in Procar.init(self, filename, structure, reciprocal_lattice, kpath, n_kx, n_ky, n_kz, efermi, interpolation_factor) 615 self.orbitalName_short = ["s", "p", "d", "f", "tot"] 616 self.labels = self.orbitalName_old[:-1] --> 618 self._read() 619 if self.has_phase: 620 self.carray = self.spd_phase[:, :, :, :-1, 1:-1]

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/io/vasp.py:760, in Procar._read(self) 758 self._read_orbitals() 759 if self.has_phase: --> 760 self._read_phases() 761 rf.close() 762 return

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/io/vasp.py:1160, in Procar._read_phases(self) 1144 else: 1145 self.spd_phase = self.spd_phase.reshape( 1146 self.kpointsCount, 1147 self.bandsCount, (...) 1150 self.orbitalCount 2, 1151 ) 1152 temp = np.zeros( 1153 shape=( 1154 self.spd_phase.shape[0], 1155 self.spd_phase.shape[1], 1156 self.spd_phase.shape[2], 1157 self.spd_phase.shape[3], 1158 int(self.spdphase.shape[4] / 2) + 1, 1159 ), -> 1160 dtype=np.complex, 1161 ) 1163 for i in range(1, (self.orbitalCount) 2 - 2, 2): 1164 temp[:, :, :, :, (i + 1) // 2].real = self.spd_phase[:, :, :, :, i]

File ~/cohenenv3.12/lib/python3.12/site-packages/numpy/init.py:397, in getattr(attr) 394 raise AttributeError(former_attrs[attr]) 396 if attr in expired_attributes: --> 397 raise AttributeError( 398 f"np.{attr} was removed in the NumPy 2.0 release. " 399 f"{__expired_attributes__[attr]}" 400 ) 402 if attr == "chararray": 403 warnings.warn( 404 "np.chararray is deprecated and will be removed from " 405 "the main namespace in the future. Use an array with a string " 406 "or bytes dtype instead.", DeprecationWarning, stacklevel=2)

AttributeError: np.complex_ was removed in the NumPy 2.0 release. Use np.complex128 instead.

Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Mon, Jun 3, 2024 at 11:57 AM lllangWV @.***> wrote:

Hey Ron,

I am sorry it slipped my mind. I'm taking a look at it now. Could you also send me the POSCAR file too, I can't plot without it.

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot.

So for a spin-orbit calculation in vasp, it will automatically turn the LNONCOLINEAR flag on, so you should only see one spin. This is because there is there is no definition of spin-up or spin-down in noncolinear calculations. What you see in the PROCAR is the projected magnetizations. You can find the exact definition here PROCAR https://www.vasp.at/wiki/index.php/PROCAR at the bottom of the page.

The blocks represent the following are as follow:

  1. The first set is the total (absolute magnetization)
  2. The second is the x-projection of the spin
  3. The third is the y-projection
  4. The third is the z-projection

When you are dealing with a non-colinear calculation in pyprocar you can specify which projection you would like to see with the following.

In this plot, the color scale represents the contribution of the d-orbitals of the first atom to the total magnetization

atoms=[0] orbitals=[4,5,6,7,8] spins=[0] pyprocar.dosplot( code='vasp', mode='parametric', fermi=5.5962, atoms=atoms, orbitals=orbitals, spins=spins, dirname=data_dir)

Changing spins=[1] would represents the contribution of the d-orbitals of the first atom to the x-projection magnetization. Changing spins=[2] would represents the contribution of the d-orbitals of the first atom to the y-projection magnetization. Changing spins=[3] would represents the contribution of the d-orbitals of the first atom to the z-projection magnetization.

of k-points: 90 # of bands: 128 # of ions: 14

k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00195312

band 1 # energy -27.58781017 # occ. 1.00000000

ion s py pz px dxy dyz dz2 dxz x2-y2 fy3x2 fxyz fyz2 fz3 fxz2 fzx2 fx3 tot 1 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 2 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 3 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.941

1 -0.000 -0.000 -0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000
2  0.000 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000
3 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
4 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
5  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
6  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
7  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
8 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
9  0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000

10 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 tot 0.000 -0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000

1 -0.000  0.000 -0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000  0.000 -0.000
2  0.000 -0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000  0.000 -0.000  0.000
3 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
4 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
5  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
6  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
7  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
8 -0.000  0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000 -0.000
9  0.000  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000

10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 14 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot -0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000

1  0.469  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000  0.000 -0.000 -0.000 -0.000  0.000 -0.000 -0.000  0.469
2  0.469  0.000 -0.000  0.000  0.000 -0.000  0.000 -0.000  0.000 -0.000 -0.000  0.000 -0.000 -0.000 -0.000  0.000  0.469
3  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
4  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
5  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
6  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
7  0.000 -0.000 -0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
8  0.000 -0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
9  0.000  0.000 -0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000

10 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 0.941

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2145576869, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5KBD5TZMBDLQ46KSW3ZFSG7PAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBVGU3TMOBWHE . You are receiving this because you authored the thread.Message ID: @.***>

recohen commented 5 months ago

This is vasp. The input was:

spins=[0]

pyprocar.dosplot(code='vasp', mode='plain', elimit=[-10, 10], fermi=9.739484, orientation='horizontal', dirname='.', spins=spins,

labels=[r'$\uparrow$', r'$\downarrow$'],

              title=r'Total Density of States$')

When I try to run on another machine (different vasp run) I get the errors I just sent. I will try using the same output files as before on that machine. Thank you!

Sincerely,

Ron

On Jun 21, 2024, at 2:29 PM, Aldo Romero @.***> wrote:

Ron

Is this for VASP or Quantum Espresso?.... can you share the line you used?

Thanks

__::::__ Prof. Aldo Humberto Romero Director Research Computing, West Virginia University Eberly Family Distinguished Professor Fellow American Physical Society Editor Physica B, Assistant Editor EPJB, Editor Frontiers in Physics Section Editor Papers in Physics Member of the Editorial Board of “Materials” and “Symmetry Physics” https://scholar.google.com/citations?user=pwte-hQAAAAJ&hl=en

Physics and Astronomy Department West Virginia University 135 Willey Street, PO Box 6315 111 White Hall Morgantown, WV 26506 Phone: 304-293-6317 Fax: 304-293-5732 email: @.***

From: Ronald Cohen @.> Date: Friday, June 21, 2024 at 2:14 PM To: romerogroup/pyprocar @.> Cc: Subscribed @.***> Subject: Re: [romerogroup/pyprocar] elk support? (Issue #144) Dear Logan Lang,

Thank you so much for this. It has been a while but I was stuck doing other things. So now if something is ferromagnetic how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much,

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Mon, Jun 3, 2024 at 11:57 AM lllangWV @.***> wrote:

Hey Ron,

I am sorry it slipped my mind. I'm taking a look at it now. Could you also send me the POSCAR file too, I can't plot without it.

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot.

So for a spin-orbit calculation in vasp, it will automatically turn the LNONCOLINEAR flag on, so you should only see one spin. This is because there is there is no definition of spin-up or spin-down in noncolinear calculations. What you see in the PROCAR is the projected magnetizations. You can find the exact definition here PROCAR https://www.vasp.at/wiki/index.php/PROCAR at the bottom of the page.

The blocks represent the following are as follow:

  1. The first set is the total (absolute magnetization)
  2. The second is the x-projection of the spin
  3. The third is the y-projection
  4. The third is the z-projection

When you are dealing with a non-colinear calculation in pyprocar you can specify which projection you would like to see with the following.

In this plot, the color scale represents the contribution of the d-orbitals of the first atom to the total magnetization

atoms=[0] orbitals=[4,5,6,7,8] spins=[0] pyprocar.dosplot( code='vasp', mode='parametric', fermi=5.5962, atoms=atoms, orbitals=orbitals, spins=spins, dirname=data_dir)

Changing spins=[1] would represents the contribution of the d-orbitals of the first atom to the x-projection magnetization. Changing spins=[2] would represents the contribution of the d-orbitals of the first atom to the y-projection magnetization. Changing spins=[3] would represents the contribution of the d-orbitals of the first atom to the z-projection magnetization.

of k-points: 90 # of bands: 128 # of ions: 14

k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00195312

band 1 # energy -27.58781017 # occ. 1.00000000

ion s py pz px dxy dyz dz2 dxz x2-y2 fy3x2 fxyz fyz2 fz3 fxz2 fzx2 fx3 tot 1 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 2 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 3 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.941

1 -0.000 -0.000 -0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 2 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 3 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 4 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 5 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 9 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 tot 0.000 -0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000

1 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 2 0.000 -0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 -0.000 0.000 3 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 4 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 5 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 9 0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 14 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot -0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000

1 0.469 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.469 2 0.469 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 0.469 3 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 0.941

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2145576869, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5KBD5TZMBDLQ46KSW3ZFSG7PAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBVGU3TMOBWHE . You are receiving this because you authored the thread.Message ID: @.***>

— Reply to this email directly, view it on GitHubhttps://github.com/romerogroup/pyprocar/issues/144#issuecomment-2183218296, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB24DTIHPZZWAI33LY5DV3DZIRUO7AVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGIYTQMRZGY. You are receiving this because you are subscribed to this thread.Message ID: @.***> — Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2183254620, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5N7G6R4ZDECCVVEI6DZIRWHTAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGI2TINRSGA. You are receiving this because you authored the thread.

recohen commented 5 months ago

It's not a problem with my installation. The run that ran on the other machine runs on this one. Here are the files that are not working now: https://www.dropbox.com/scl/fi/xh8514n3lcixnr9e7fqkl/HSE06FMdos.tar.gz?rlkey=3yg6mv1jrrqi979t0rfqa60wa&dl=0 Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Fri, Jun 21, 2024 at 2:29 PM Aldo Romero @.***> wrote:

Ron

Is this for VASP or Quantum Espresso?.... can you share the line you used?

Thanks

__::::__

Prof. Aldo Humberto Romero Director Research Computing, West Virginia University Eberly Family Distinguished Professor Fellow American Physical Society Editor Physica B, Assistant Editor EPJB, Editor Frontiers in Physics Section Editor Papers in Physics Member of the Editorial Board of “Materials” and “Symmetry Physics” https://scholar.google.com/citations?user=pwte-hQAAAAJ&hl=en

Physics and Astronomy Department West Virginia University 135 Willey Street, PO Box 6315 111 White Hall Morgantown, WV 26506 Phone: 304-293-6317 Fax: 304-293-5732 email: @.***

From: Ronald Cohen @.> Date: Friday, June 21, 2024 at 2:14 PM To: romerogroup/pyprocar @.> Cc: Subscribed @.***> Subject: Re: [romerogroup/pyprocar] elk support? (Issue #144) Dear Logan Lang,

Thank you so much for this. It has been a while but I was stuck doing other things. So now if something is ferromagnetic how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much,

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Mon, Jun 3, 2024 at 11:57 AM lllangWV @.***> wrote:

Hey Ron,

I am sorry it slipped my mind. I'm taking a look at it now. Could you also send me the POSCAR file too, I can't plot without it.

I am having some problems with pyprocar and VASP for a spin-orbit spin-polarized where only one spin is plotted. I seem to see two spin projections in the PROCAR file but cannot get them to plot.

So for a spin-orbit calculation in vasp, it will automatically turn the LNONCOLINEAR flag on, so you should only see one spin. This is because there is there is no definition of spin-up or spin-down in noncolinear calculations. What you see in the PROCAR is the projected magnetizations. You can find the exact definition here PROCAR https://www.vasp.at/wiki/index.php/PROCAR at the bottom of the page.

The blocks represent the following are as follow:

  1. The first set is the total (absolute magnetization)
  2. The second is the x-projection of the spin
  3. The third is the y-projection
  4. The third is the z-projection

When you are dealing with a non-colinear calculation in pyprocar you can specify which projection you would like to see with the following.

In this plot, the color scale represents the contribution of the d-orbitals of the first atom to the total magnetization

atoms=[0] orbitals=[4,5,6,7,8] spins=[0] pyprocar.dosplot( code='vasp', mode='parametric', fermi=5.5962, atoms=atoms, orbitals=orbitals, spins=spins, dirname=data_dir)

Changing spins=[1] would represents the contribution of the d-orbitals of the first atom to the x-projection magnetization. Changing spins=[2] would represents the contribution of the d-orbitals of the first atom to the y-projection magnetization. Changing spins=[3] would represents the contribution of the d-orbitals of the first atom to the z-projection magnetization.

of k-points: 90 # of bands: 128 # of ions: 14

k-point 1 : 0.00000000 0.00000000 0.00000000 weight = 0.00195312

band 1 # energy -27.58781017 # occ. 1.00000000

ion s py pz px dxy dyz dz2 dxz x2-y2 fy3x2 fxyz fyz2 fz3 fxz2 fzx2 fx3 tot 1 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 2 0.469 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.469 3 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.941

1 -0.000 -0.000 -0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 2 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 3 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 4 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 5 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 9 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 tot 0.000 -0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 0.000 0.000 0.000

1 -0.000 0.000 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 0.000 -0.000 2 0.000 -0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 -0.000 0.000 3 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 4 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 5 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 -0.000 0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 9 0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 -0.000 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 12 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 13 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.000 14 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot -0.000 -0.000 0.000 0.000 0.000 0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000

1 0.469 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 0.000 -0.000 -0.000 0.469 2 0.469 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 -0.000 -0.000 0.000 -0.000 -0.000 -0.000 0.000 0.469 3 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 4 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 5 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 6 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 7 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 8 0.000 -0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 9 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 10 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 11 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12 0.000 0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 13 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 14 0.000 -0.000 -0.000 -0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 tot 0.941 0.000 -0.000 0.000 0.000 -0.000 0.000 -0.000 0.000 0.000 -0.000 -0.000 -0.000 -0.000 -0.000 0.000 0.941

Logan Lang

— Reply to this email directly, view it on GitHub < https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2145576869>,

or unsubscribe < https://github.com/notifications/unsubscribe-auth/ABA2R5KBD5TZMBDLQ46KSW3ZFSG7PAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBVGU3TMOBWHE>

. You are receiving this because you authored the thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub< https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2183218296>, or unsubscribe< https://github.com/notifications/unsubscribe-auth/AB24DTIHPZZWAI33LY5DV3DZIRUO7AVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGIYTQMRZGY>.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2183254620, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5N7G6R4ZDECCVVEI6DZIRWHTAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGI2TINRSGA . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 5 months ago

Hey Ron!

Thank you so much for this. It has been a while, but I was stuck doing other things. So now, if something is ferromagnetic, how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much.

If your calculation is a collinear spin-polarized one (without spin-orbit coupling), you can use the spins keyword argument. spins=[0] corresponds to spin up, and spins=[1] corresponds to spin down.

For calculations that include spin-orbit coupling (which implies non-collinear spins), you would still use the spins keyword argument. In non-collinear spin calculations, spins=[0] plots the spin density magnitude, while spins=[1,2,3] corresponds to spins oriented along the $S_x$, $S_y$, and $S_z$ directions, respectively.

Regarding the error:

AttributeError: np.complex_ was removed in the NumPy 2.0 release. Use np.complex128 instead.

It appears that NumPy updated their methods. This is an easy fix. In our code, we use np.complex to handle the phase factor of the projections, which occurs when LORBIT > 11 is set. Currently, we only use these phase factors for band unfoldings, so you can set LORBIT = 11 and still plot the spin projections.

I apologize I can't fix this immediately as I am away from my main computer this weekend, but I will get to it on Monday!

Logan Lang

recohen commented 5 months ago

Thank you! I didn’t realize that is the important error. I hate the way python makes incompatible changes. I can try to fix that too. Ron—On Jun 21, 2024, at 18:37, Logan Lang @.***> wrote: Hey Ron!

Thank you so much for this. It has been a while, but I was stuck doing other things. So now, if something is ferromagnetic, how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much.

If your calculation is a collinear spin-polarized one (without spin-orbit coupling), you can use the spins keyword argument. spins=[0] corresponds to spin up, and spins=[1] corresponds to spin down. For calculations that include spin-orbit coupling (which implies non-collinear spins), you would still use the spins keyword argument. In non-collinear spin calculations, spins=[0] plots the spin density magnitude, while spins=[1,2,3] corresponds to spins oriented along the $S_x$, $S_y$, and $S_z$ directions, respectively. Regarding the error:

AttributeError: np.complex_ was removed in the NumPy 2.0 release. Use np.complex128 instead.

It appears that NumPy updated their methods. This is an easy fix. In our code, we use np.complex to handle the phase factor of the projections, which occurs when LORBIT > 11 is set. Currently, we only use these phase factors for band unfoldings, so you can set LORBIT = 11 and still plot the spin projections. I apologize I can't fix this immediately as I am away from my main computer this weekend, but I will get to it on Monday! Logan Lang

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

recohen commented 5 months ago

Dear Logan,

Thank you again. I tried editing all the uses of complex_ in the source and installed it again, but when I import pyprocar it still gives the same error and is not seeing the edited version. I tried pip install --upgrade --force-reinstall . but still the same. I am sorry this must be a very stupid question!

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Fri, Jun 21, 2024 at 6:37 PM Logan Lang @.***> wrote:

Hey Ron!

Thank you so much for this. It has been a while, but I was stuck doing other things. So now, if something is ferromagnetic, how would one see the DOS for up and down total or along z with spin-orbit? I seem to be seeing only the majority spins. Maybe I am not understanding something major. Thank you so much.

If your calculation is a collinear spin-polarized one (without spin-orbit coupling), you can use the spins keyword argument. spins=[0] corresponds to spin up, and spins=[1] corresponds to spin down.

For calculations that include spin-orbit coupling (which implies non-collinear spins), you would still use the spins keyword argument. In non-collinear spin calculations, spins=[0] plots the spin density magnitude, while spins=[1,2,3] corresponds to spins oriented along the $S_x$, $S_y$, and $S_z$ directions, respectively.

Regarding the error:

AttributeError: np.complex_ was removed in the NumPy 2.0 release. Use np.complex128 instead.

It appears that NumPy updated their methods. This is an easy fix. In our code, we use np.complex to handle the phase factor of the projections, which occurs when LORBIT > 11 is set. Currently, we only use these phase factors for band unfoldings, so you can set LORBIT = 11 and still plot the spin projections.

I apologize I can't fix this immediately as I am away from my main computer this weekend, but I will get to it on Monday!

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2183547927, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5OFM2CZ34YEWXRGVPTZISTLVAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBTGU2DOOJSG4 . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 5 months ago

Hey Ron,

I am back to my my main computer and looking into the issue now! I just checked, the new version of numpy was literally released last week, so that explains why I have not seen this error before. A temporary fix would be to install pyprocar, then uninstall and reinstall numpy with an older version.

I am showing you what I normally do when I install pyprocar. I usually like to create anaconda virtual environment to make sure the dependencies are right.

conda create -n pyprocar_6.1.10 python==3.8
conda activate pyprocar_6.1.10

pip install pyprocar
pip uninstall numpy
pip install numpy==1.26.4

I am going to update, the way we handle these dependencies. Currently we just grab the most updated version, but this method is obviously not going to work. I'll push the updated version later today.

Logan Lang

recohen commented 5 months ago

Thank you! I wonder why just editing the file did not work for me. I use virtual environments without conda. Conda caused me trouble,

Thanks!

Ron

On Jun 24, 2024, at 12:46 PM, Logan Lang @.***> wrote:

Hey Ron,

I am back to my my main computer and looking into the issue now! I just checked, the new version of numpy was literally released last week, so that explains why I have not seen this error before. A temporary fix would be to install pyprocar, then uninstall and reinstall numpy with an older version.

I am showing you what I normally do when I install pyprocar. I usually like to create anaconda virtual environment to make sure the dependencies are right.

conda create -n pyprocar_6.1.10 python==3.8 conda activate pyprocar_6.1.10

pip install pyprocar pip uninstall numpy pip install numpy==1.26.4 I am going to update, the way we handle these dependencies. Currently we just grab the most updated version, but this method is obviously not going to work. I'll push the updated version later today.

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2186996546, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5MWR3NCYNZPX53VSGTZJBEQDAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBWHE4TMNJUGY. You are receiving this because you authored the thread.

lllangWV commented 5 months ago

I am just curious, I have a few questions.

How do you install pyprocar? Is it by pip install pyprocar or do you clone the repository

git clone git@github.com:romerogroup/pyprocar.git
cd pyprocar 
pip install .

When you say you are editing the file, are you editing the version in located in your site-packages inside your virtual environment or the file in the main pyprocar directory pyprocar/pyprocar/io/vasp.py?

recohen commented 5 months ago

I clones from github and then did the cd and pip install . I edited the version in the github clone and redid the install.

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Mon, Jun 24, 2024 at 1:22 PM Logan Lang @.***> wrote:

I am just curious, I have a few questions.

How do you install pyprocar? Is it by pip install pyprocar or do you clone the repository

git clone @.***:romerogroup/pyprocar.gitcd pyprocar pip install .

When you say you are editing the file, are you editing the version in located in your site-packages inside your virtual environment or the file in the main pyprocar directory pyprocar/pyprocar/io/vasp.py?

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2187054692, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5KTG6UKKRHCPFJP4YTZJBIULAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGA2TINRZGI . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 5 months ago

I now understand why the editing did not work.

When you install a package with pip install . while using a virtual environment (e.g., venv), the pyprocar module is copied to venv/Lib/site-packages/pyprocar. Consequently, the code execution uses the version located there. Any changes made in the main repository will not be reflected in the venv/Lib/site-packages/pyprocar version. This means you would need to run pip install . every time you make changes in the repository, which is quite inconvenient. I used to follow this approach for a long time!

A better solution is to use pip install -e . (editable/development mode). This tells the virtual environment to reference the code in the main repository instead of venv/Lib/site-packages/. Now, any changes made in the repository will be immediately reflected when you run the code.

Hope this helps!

Logan Lang

recohen commented 5 months ago

Dear Logan,

I went back to the older numpy and the core runs now. But I am still having problems. I have a spin-polarized (w SO) system, but when I plot the dos using spins=[3] I still get only positive dos—not a spin density. Also I seems to get the same thing if I says spins=[0] or spins=[2] or 3, yet the moment is along z.

There is a moment: orbital moment (z)

of ion p d f tot


1 -0.011 -0.003 -1.792 -1.805 2 -0.011 -0.003 -1.792 -1.805 3 0.001 0.000 0.000 0.001 4 0.001 0.000 0.000 0.001 5 0.001 0.000 0.000 0.001 6 0.001 0.000 0.000 0.001 7 0.001 0.000 0.000 0.001 8 0.001 0.000 0.000 0.001 9 0.001 0.000 0.000 0.001 10 0.001 0.000 0.000 0.001 11 0.001 0.000 0.000 0.001 12 0.001 0.000 0.000 0.001 13 0.002 0.000 0.000 0.002 14 0.002 0.000 0.000 0.002

       -0.008  -0.005  -3.583  -3.596

magnetization (z)

of ion s p d f tot


1       -0.015  -0.085   0.028   2.839   2.767
2       -0.015  -0.085   0.028   2.839   2.767
3       -0.003  -0.014   0.000   0.000  -0.017
4       -0.003  -0.014   0.000   0.000  -0.017
5       -0.003  -0.014   0.000   0.000  -0.017
6       -0.003  -0.014   0.000   0.000  -0.017
7       -0.003  -0.014   0.000   0.000  -0.017
8       -0.003  -0.014   0.000   0.000  -0.017
9        0.001   0.008   0.000   0.000   0.010

10 0.001 0.008 0.000 0.000 0.010 11 0.001 0.008 0.000 0.000 0.010 12 0.001 0.008 0.000 0.000 0.010 13 0.001 0.009 0.000 0.000 0.010 14 0.001 0.009 0.000 0.000 0.010

tot -0.041 -0.203 0.056 5.678 5.491

Any suggestions are greatly appreciated,

Sincerely,

Ron

On Jun 24, 2024, at 1:45 PM, Ronald Cohen @.***> wrote:

I clone from github and then did the cd and pip install . I edited the version in the github clone and redid the install.

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Mon, Jun 24, 2024 at 1:22 PM Logan Lang @. @.>> wrote:

I am just curious, I have a few questions.

How do you install pyprocar? Is it by pip install pyprocar or do you clone the repository

git clone @.***:romerogroup/pyprocar.git cd pyprocar pip install . When you say you are editing the file, are you editing the version in located in your site-packages inside your virtual environment or the file in the main pyprocar directory pyprocar/pyprocar/io/vasp.py?

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2187054692, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5KTG6UKKRHCPFJP4YTZJBIULAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGA2TINRZGI. You are receiving this because you authored the thread.

recohen commented 5 months ago

Yes I thought I said that I did rerun pip install . each time. Thanks for the idea about install -e!

Ron

On Jun 24, 2024, at 2:03 PM, Logan Lang @.***> wrote:

I now understand why the editing did not work.

When you install a package with pip install . while using a virtual environment (e.g., venv), the pyprocar module is copied to venv/Lib/site-packages/pyprocar. Consequently, the code execution uses the version located there. Any changes made in the main repository will not be reflected in the venv/Lib/site-packages/pyprocar version. This means you would need to run pip install . every time you make changes in the repository, which is quite inconvenient. I used to follow this approach for a long time!

A better solution is to use pip install -e . (editable/development mode). This tells the virtual environment to reference the code in the main repository instead of venv/Lib/site-packages/. Now, any changes made in the repository will be immediately reflected when you run the code.

Hope this helps!

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2187122573, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LFZRSYVRH6P2RKCPLZJBNPPAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGEZDENJXGM. You are receiving this because you authored the thread.

recohen commented 5 months ago

OK—it seems one need to set dos_limit to be a range like [-10,10]. I didn;t find this in the manual or website examples. Ron

On Jun 24, 2024, at 2:03 PM, Logan Lang @.***> wrote:

I now understand why the editing did not work.

When you install a package with pip install . while using a virtual environment (e.g., venv), the pyprocar module is copied to venv/Lib/site-packages/pyprocar. Consequently, the code execution uses the version located there. Any changes made in the main repository will not be reflected in the venv/Lib/site-packages/pyprocar version. This means you would need to run pip install . every time you make changes in the repository, which is quite inconvenient. I used to follow this approach for a long time!

A better solution is to use pip install -e . (editable/development mode). This tells the virtual environment to reference the code in the main repository instead of venv/Lib/site-packages/. Now, any changes made in the repository will be immediately reflected when you run the code.

Hope this helps!

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2187122573, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LFZRSYVRH6P2RKCPLZJBNPPAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBXGEZDENJXGM. You are receiving this because you authored the thread.

lllangWV commented 5 months ago

went back to the older numpy and the core runs now. But I am still having problems. I have a spin-polarized (w SO) system, but when I plot the dos using spins=[3] I still get only positive dos—not a spin density. Also, it seems I get the same thing whether I use spins=[0], spins=[2], or spins=[3], yet the moment is along z.

In spin-orbit (SO) calculations, it is expected to see only positive densities of states (DOS) because noncollinear calculations do not differentiate between spin-up or spin-down. When plotting with mode='plain', you should see identical plots for different spins settings ([0] or [1]), since they all represent the same DOS. For a clearer differentiation, use mode='parametric'. Here, differences between the various spins settings ([0], [1], [2], or [3]) can be observed, particularly in how the magnitude and the x, y, z projections of spin density are displayed using the color scale.

OK—it seems one needs to set dos_limit to be a range like [-10,10]. I didn't find this in the manual or website examples. Ron

You're correct, and I apologize for the oversight. The need to set dos_limit manually was not documented when it was introduced in dosplot. I'll make sure to add this information. Thank you for pointing it out!

Logan Lang

recohen commented 4 months ago

Dear Logan Lang,

I am sorry to keep bothering you, but every time I have time to get back to this, questions arise. What do I expect to see for a ferromagnetic material with spin-orbit and moment along z? Should I see both positive and negative dos for spins=3 and 0? Or only positive numbers? I am just seeing positive numbers even when I set dos_limit=[-10,10]. Thank you for any help!

Sincerely,

Ron


Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @.***

On Tue, Jun 25, 2024 at 9:22 AM Logan Lang @.***> wrote:

went back to the older numpy and the core runs now. But I am still having problems. I have a spin-polarized (w SO) system, but when I plot the dos using spins=[3] I still get only positive dos—not a spin density. Also, it seems I get the same thing whether I use spins=[0], spins=[2], or spins=[3], yet the moment is along z.

In spin-orbit (SO) calculations, it is expected to see only positive densities of states (DOS) because noncollinear calculations do not differentiate between spin-up or spin-down. When plotting with mode='plain', you should see identical plots for different spins settings ([0] or [1]), since they all represent the same DOS. For a clearer differentiation, use mode='parametric'. Here, differences between the various spins settings ([0], [1], [2], or [3]) can be observed, particularly in how the magnitude and the x, y, z projections of spin density are displayed using the color scale.

OK—it seems one needs to set dos_limit to be a range like [-10,10]. I didn't find this in the manual or website examples. Ron

You're correct, and I apologize for the oversight. The need to set dos_limit manually was not documented when it was introduced in dosplot. I'll make sure to add this information. Thank you for pointing it out!

Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2188956036, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5L5HEJ6WBQJRYB3C6LZJFVKLAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBYHE2TMMBTGY . You are receiving this because you authored the thread.Message ID: @.***>

lllangWV commented 4 months ago

Hi Ron,

No worries at all—I'm happy to answer any questions you have!

Regarding your question on what to expect for a ferromagnetic material with spin-orbit coupling and magnetic moment along the z-axis:

You should observe the density of states (DOS), which will consistently be positive. This outcome is due to the nature of spin-orbit calculations, where there isn't a distinction between spin-up or spin-down. Consequently, the DOS remains positive as it represents the only spin channel.

Concerning your second question on whether you should see both positive and negative DOS for spins=3 and spins=0 or only positive values: You should only see positive numbers on the y-axis for both. Here’s why:

The distinction between spins=[0] and spins=[3] appears in parametric mode. With spins=[3], the z projection can exhibit both positive and negative values, which should be reflected on the colorbar. Conversely, for spins=[0], since the total magnetization can only take positive values, the colorbar should only display positive values.

It's essential to differentiate between spin channels and spin projections:

Here are the different cases.

In our package we use spins keyword to handle both the spin_channel and spin_projection determination since we can determine which of the above case based on the calculation. Honestly, maybe it would be more beneficial explicitly differentiate between these two in the package. I would have check with other developers if they would be alright with this.

I hope this clears up any confusion!

Best regards, Logan Lang

recohen commented 4 months ago

Thank you so much!

Ron

Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Jul 9, 2024, at 4:59 PM, Logan Lang @.***> wrote:

Hi Ron,

No worries at all—I'm happy to answer any questions you have!

Regarding your question on what to expect for a ferromagnetic material with spin-orbit coupling and magnetic moment along the z-axis:

You should observe the density of states (DOS), which will consistently be positive. This outcome is due to the nature of spin-orbit calculations, where there isn't a distinction between spin-up or spin-down. Consequently, the DOS remains positive as it represents the only spin channel.

Concerning your second question on whether you should see both positive and negative DOS for spins=3 and spins=0 or only positive values: You should only see positive numbers on the y-axis for both. Here’s why:

spins=3 corresponds to the z projection of the magnetization. spins=0 represents the total magnetization projection. The distinction between spins=[0] and spins=[3] appears in parametric mode. With spins=[3], the z projection can exhibit both positive and negative values, which should be reflected on the colorbar. Conversely, for spins=[0], since the total magnetization can only take positive values, the colorbar should only display positive values.

It's essential to differentiate between spin channels and spin projections:

A spin channels refer to the ways electron spins contribute to the overall electronic properties of a material. They will unique density of states (i.e. their own energies and DOS values) Spin projections are the measurements of the components of the spins along a specific axis. Here are the different cases.

In non-spin-polarized calculations, there is one spin channel and consequently one spin projection. In spin-polarized calculations, two spin channels exist, leading to two corresponding spin projections. In calculations involving spin-orbit or noncollinear magnetic arrangements, there is one spin channel, but it can be represented by four spin projections corresponding to that channel. In our package we use spins keyword to handle both the spin_channel and spin_projection determination since we can determine which of the above case based on the calculation. Honestly, maybe it would be more beneficial explicitly differentiate between these two in the package. I would have check with other developers if they would be alright with this.

I hope this clears up any confusion!

Best regards, Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2218720680, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LZQ6YWYP4QC7MZRQTZLRFMLAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJYG4ZDANRYGA. You are receiving this because you authored the thread.

recohen commented 4 months ago

Dear Logan Lang,

When I try: pyprocar.dosplot(code='vasp', mode='parametric', elimit=[-30, 10], fermi= 9.752219, orientation='horizontal', dirname='.', spins=[3],

labels=[r'$\uparrow$', r'$\downarrow$'],

              title='Density of States$’)

I get:

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/plotter/dos_plot.py:177, in DOSPlot.plot_parametric(self, atoms, orbitals, spins, principal_q_numbers, orientation) 174 if vmax is None: 175 vmax = (dos_projected.max() / dos_total_projected.max()) --> 177 cmap = mpl.cm.get_cmap(cmap) 178 if self.config['plot_bar']['value']: 179 norm = mpl.colors.Normalize(vmin=vmin, vmax=vmax)

AttributeError: module 'matplotlib.cm' has no attribute 'get_cmap'

Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Jul 9, 2024, at 4:59 PM, Logan Lang @.***> wrote:

Hi Ron,

No worries at all—I'm happy to answer any questions you have!

Regarding your question on what to expect for a ferromagnetic material with spin-orbit coupling and magnetic moment along the z-axis:

You should observe the density of states (DOS), which will consistently be positive. This outcome is due to the nature of spin-orbit calculations, where there isn't a distinction between spin-up or spin-down. Consequently, the DOS remains positive as it represents the only spin channel.

Concerning your second question on whether you should see both positive and negative DOS for spins=3 and spins=0 or only positive values: You should only see positive numbers on the y-axis for both. Here’s why:

spins=3 corresponds to the z projection of the magnetization. spins=0 represents the total magnetization projection. The distinction between spins=[0] and spins=[3] appears in parametric mode. With spins=[3], the z projection can exhibit both positive and negative values, which should be reflected on the colorbar. Conversely, for spins=[0], since the total magnetization can only take positive values, the colorbar should only display positive values.

It's essential to differentiate between spin channels and spin projections:

A spin channels refer to the ways electron spins contribute to the overall electronic properties of a material. They will unique density of states (i.e. their own energies and DOS values) Spin projections are the measurements of the components of the spins along a specific axis. Here are the different cases.

In non-spin-polarized calculations, there is one spin channel and consequently one spin projection. In spin-polarized calculations, two spin channels exist, leading to two corresponding spin projections. In calculations involving spin-orbit or noncollinear magnetic arrangements, there is one spin channel, but it can be represented by four spin projections corresponding to that channel. In our package we use spins keyword to handle both the spin_channel and spin_projection determination since we can determine which of the above case based on the calculation. Honestly, maybe it would be more beneficial explicitly differentiate between these two in the package. I would have check with other developers if they would be alright with this.

I hope this clears up any confusion!

Best regards, Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2218720680, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LZQ6YWYP4QC7MZRQTZLRFMLAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJYG4ZDANRYGA. You are receiving this because you authored the thread.

lllangWV commented 4 months ago

This is another version issue, but with matplotlib this timeA quick solution is to downgraded matplotlib. I’ll update this later today.Sent from my iPhoneOn Jul 9, 2024, at 5:22 PM, Ronald Cohen @.***> wrote: Dear Logan Lang,

When I try:

pyprocar.dosplot(code='vasp',

        mode='parametric',

              elimit=[-30, 10],

              fermi= 9.752219,

              orientation='horizontal',

              dirname='.',

             spins=[3],

             #labels=[r'$\uparrow$', r'$\downarrow$'],

              title='Density of States$’)

I get:

File ~/cohenenv3.12/lib/python3.12/site-packages/pyprocar/plotter/dos_plot.py:177, in DOSPlot.plot_parametric(self, atoms, orbitals, spins, principal_q_numbers, orientation)

174 if vmax is None:

175     vmax = (dos_projected.max() / dos_total_projected.max())

--> 177 cmap = mpl.cm.get_cmap(cmap)

178 if self.config['plot_bar']['value']:

179     norm = mpl.colors.Normalize(vmin=vmin, vmax=vmax)

AttributeError: module 'matplotlib.cm' has no attribute 'get_cmap'


Ronald Cohen

Extreme Materials Initiative

Earth and Planets Laboratory

Carnegie Institution for Science

5241 Broad Branch Rd., N.W.

Washington, D.C. 20015

@. @.>

On Jul 9, 2024, at 4:59 PM, Logan Lang @.***> wrote:

Hi Ron,

No worries at all—I'm happy to answer any questions you have!

Regarding your question on what to expect for a ferromagnetic material with spin-orbit coupling and magnetic moment along the z-axis:

You should observe the density of states (DOS), which will consistently be positive. This outcome is due to the nature of spin-orbit calculations, where there isn't a distinction between spin-up or spin-down. Consequently, the DOS remains positive as it represents the only spin channel.

Concerning your second question on whether you should see both positive and negative DOS for spins=3 and spins=0 or only positive values:

You should only see positive numbers on the y-axis for both. Here’s why:

spins=3 corresponds to the z projection of the magnetization.

spins=0 represents the total magnetization projection.

The distinction between spins=[0] and spins=[3] appears in parametric mode. With spins=[3], the z projection can exhibit both positive and negative values, which should be reflected on the colorbar. Conversely, for spins=[0], since the total magnetization can only take positive values, the colorbar should only display positive values.

It's essential to differentiate between spin channels and spin projections:

A spin channels refer to the ways electron spins contribute to the overall electronic properties of a material. They will unique density of states (i.e. their own energies and DOS values)

Spin projections are the measurements of the components of the spins along a specific axis.

Here are the different cases.

In non-spin-polarized calculations, there is one spin channel and consequently one spin projection.

In spin-polarized calculations, two spin channels exist, leading to two corresponding spin projections.

In calculations involving spin-orbit or noncollinear magnetic arrangements, there is one spin channel, but it can be represented by four spin projections corresponding to that channel.

In our package we use spins keyword to handle both the spin_channel and spin_projection determination since we can determine which of the above case based on the calculation. Honestly, maybe it would be more beneficial explicitly differentiate between these two in the package. I would have check with other developers if they would be alright with this.

I hope this clears up any confusion!

Best regards,

Logan Lang

Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2218720680, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LZQ6YWYP4QC7MZRQTZLRFMLAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJYG4ZDANRYGA.

You are receiving this because you authored the thread.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

recohen commented 4 months ago

Dear Logan Lang,

I understood your answer5 I thought , but when I use stack_species and spins=3 I do get positive and negative dos:

pyprocar.dosplot(code='vasp', mode='stack_species', elimit=[-30, 10], fermi= Fermi, orientation='horizontal', dirname='.', dos_limit=[-10,10], spins=[3],

labels=[r'$\uparrow$', r'$\downarrow$'],

              title='Density of States$’)

Ronald Cohen Extreme Materials Initiative Earth and Planets Laboratory Carnegie Institution for Science 5241 Broad Branch Rd., N.W. Washington, D.C. 20015 @. @.>

On Jul 9, 2024, at 4:59 PM, Logan Lang @.***> wrote:

Hi Ron,

No worries at all—I'm happy to answer any questions you have!

Regarding your question on what to expect for a ferromagnetic material with spin-orbit coupling and magnetic moment along the z-axis:

You should observe the density of states (DOS), which will consistently be positive. This outcome is due to the nature of spin-orbit calculations, where there isn't a distinction between spin-up or spin-down. Consequently, the DOS remains positive as it represents the only spin channel.

Concerning your second question on whether you should see both positive and negative DOS for spins=3 and spins=0 or only positive values: You should only see positive numbers on the y-axis for both. Here’s why:

spins=3 corresponds to the z projection of the magnetization. spins=0 represents the total magnetization projection. The distinction between spins=[0] and spins=[3] appears in parametric mode. With spins=[3], the z projection can exhibit both positive and negative values, which should be reflected on the colorbar. Conversely, for spins=[0], since the total magnetization can only take positive values, the colorbar should only display positive values.

It's essential to differentiate between spin channels and spin projections:

A spin channels refer to the ways electron spins contribute to the overall electronic properties of a material. They will unique density of states (i.e. their own energies and DOS values) Spin projections are the measurements of the components of the spins along a specific axis. Here are the different cases.

In non-spin-polarized calculations, there is one spin channel and consequently one spin projection. In spin-polarized calculations, two spin channels exist, leading to two corresponding spin projections. In calculations involving spin-orbit or noncollinear magnetic arrangements, there is one spin channel, but it can be represented by four spin projections corresponding to that channel. In our package we use spins keyword to handle both the spin_channel and spin_projection determination since we can determine which of the above case based on the calculation. Honestly, maybe it would be more beneficial explicitly differentiate between these two in the package. I would have check with other developers if they would be alright with this.

I hope this clears up any confusion!

Best regards, Logan Lang

— Reply to this email directly, view it on GitHub https://github.com/romerogroup/pyprocar/issues/144#issuecomment-2218720680, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABA2R5LZQ6YWYP4QC7MZRQTZLRFMLAVCNFSM6AAAAABGEPFZXWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJYG4ZDANRYGA. You are receiving this because you authored the thread.

lllangWV commented 4 months ago

I apologize for any confusion. It looks like there's a misunderstanding on how stack_species and the spins=3 setting interact in our code.

The stack_species feature is designed to visually represent the contribution of atomic orbitals to the total density of states (DOS). We achieve this by normalizing the atomic projections based on the total projection, and then scaling these to match the total DOS. Here's how we implement this in our code (see plotter/dos_plot.py lines 495-501):

dos_projected = self.dos.dos_sum(atoms=atoms,
                                        principal_q_numbers=principal_q_numbers,
                                        orbitals=orbitals,
                                        spins=spin_projections)
x = self.dos.energies
y = (dos_projected[ispin]  / dos_projected_total[ispin] ) * dos_total[ispin]

This portion of the code correctly handles the scaling for non-spin-polarized and spin-polarized cases. However, when dealing with component projections in spin-orbit scenarios (like with spins=3), this situation can't really map on since the projections values can take negative values.

At the moment I can not think of a way to quickly fix this. I need to talk to other developers about this.

Also here is a discussion on the meaning of the projection value that I thought is good. It might be useful

Logan Lang