QuantumATK Forum

QuantumATK => Scripts, Tutorials and Applications => Topic started by: kstokbro on December 6, 2013, 14:40

Title: Script for k-dependent bulk dos
Post by: kstokbro on December 6, 2013, 14:40
The attached script can calculate the k-dependent DOS of a bulk system.

Title: Re: Script for k-dependent bulk dos
Post by: kstokbro 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
Title: Re: Script for k-dependent bulk dos
Post by: ramkrishna 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
Title: Re: Script for k-dependent bulk dos
Post by: kstokbro 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
Title: Re: Script for k-dependent bulk dos
Post by: ramkrishna 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
Title: Re: Script for k-dependent bulk dos
Post by: Anders Blom 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.)
Title: Re: Script for k-dependent bulk dos
Post by: mantun on December 23, 2013, 02:24
I want to know the version that your scripts is for, thank you!
Title: Re: Script for k-dependent bulk dos
Post by: Anders Blom 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.