Author Topic: Script for k-dependent bulk dos  (Read 11770 times)

0 Members and 1 Guest are viewing this topic.

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Script for k-dependent bulk dos
« on: December 6, 2013, 14:40 »
The attached script can calculate the k-dependent DOS of a bulk system.

« Last Edit: December 7, 2013, 00:27 by kstokbro »

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: Script for k-dependent bulk dos
« Reply #1 on: December 6, 2013, 14:42 »
To use the script:
atkpython alo_left.py
atkpython alo_kdos.py
atkpython kdos_plot.py

And you will get the following picture

Offline ramkrishna

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 253
  • Country: us
  • Reputation: 5
    • View Profile
Re: Script for k-dependent bulk dos
« Reply #2 on: December 6, 2013, 20:55 »
Dear Sir,
      Thanks a lot for the script. However, I am facing a problem when I am running alo_kdos.py . It is giving an error named "ImportError: No module named kdosbulk"

Traceback (most recent call last):
  File "/tmp/3516096078275363.py", line 6, in <module>
    from kdosbulk import makeKdos
ImportError: No module named kdosbulk

please help.

Thanks
Ramkrishna

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: Script for k-dependent bulk dos
« Reply #3 on: December 7, 2013, 00:29 »
sorry the script kdosbulk.py was missing. It is now attached to the post above. Download it and  put it in the directory where you perform the calculation

Offline ramkrishna

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 253
  • Country: us
  • Reputation: 5
    • View Profile
Re: Script for k-dependent bulk dos
« Reply #4 on: December 7, 2013, 01:09 »
Dear Sir,
      Thanks a lot. It is working perfectly now for the spin up. I am looking for both spin up and spin down plot. To call the spin down component should I have to modify  dos_kdep=nlread('alo_kdos.nc', object_id='gID001')[0] in the line 4 of plot_kdos.py by replacing to [1] in this script? Or if )[0] indicates the energy index then what should I have to modify to get the spin down kDOS? Is it like

T_uu = dos_kdep.reshape(n_A,n_B)[0]
T_dd = dos_kdep.reshape(n_A,n_B)[1]


Thanks
Ramkrishna

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5575
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: Script for k-dependent bulk dos
« Reply #5 on: December 8, 2013, 20:59 »
Easiest way might be to insert a spin keyword in the call to tetrahedronSpectrum() on line 54 of kdosbulk.py:
Code: python
        dos[j] = density_of_states.tetrahedronSpectrum(energies,spin=Spin.Down)[Ne/2]
Then you know for sure what you get back. (Note: actual code uses the variable i instead of [j], but that doesn't work here on the Forum.)
« Last Edit: December 8, 2013, 21:02 by Anders Blom »

Offline mantun

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Script for k-dependent bulk dos
« Reply #6 on: December 23, 2013, 02:24 »
I want to know the version that your scripts is for, thank you!

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5575
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: Script for k-dependent bulk dos
« Reply #7 on: December 24, 2013, 21:47 »
It's designed for ATK 13.8, with some luck it might work for 12.8 but there is no guarantee of it.