Author Topic: Comparing DOS contribution from various orbitals  (Read 90 times)

0 Members and 1 Guest are viewing this topic.

Offline hsuya

  • Heavy ATK user
  • ***
  • Posts: 74
  • Country: in
  • Reputation: 0
    • View Profile
Comparing DOS contribution from various orbitals
« on: June 22, 2020, 22:16 »
I want to know that can we compare the contribution of various oritals to DOS. I checked that we can see the s, p, d,f contributions in DOS analyzer however if I want to differentiate between the contribution from s, p, d and f respectively. How to do that?

Offline Troels-Markussen

  • Regular ATK user
  • **
  • Posts: 12
  • Country: dk
  • Reputation: 1
  • QuantumATK staff
    • View Profile
Re: Comparing DOS contribution from various orbitals
« Reply #1 on: June 23, 2020, 08:42 »
Hi,

You need to use the ProjectedDensityOfStates analysis object.
When you in the ProjectedDensityOfStates select projections to be  "Elements and Orbitals" you will get the individual contribution from each orbital. In the case of the p-shell you will get three curves (p_x, p_y, p_z).

Regards,
Troels



Offline hsuya

  • Heavy ATK user
  • ***
  • Posts: 74
  • Country: in
  • Reputation: 0
    • View Profile
Re: Comparing DOS contribution from various orbitals
« Reply #2 on: June 24, 2020, 22:40 »
Thanks a lot!

Offline hsuya

  • Heavy ATK user
  • ***
  • Posts: 74
  • Country: in
  • Reputation: 0
    • View Profile
Re: Comparing DOS contribution from various orbitals
« Reply #3 on: June 24, 2020, 22:51 »
I want to create a plot of DOS as shown in the image attached. I am not able to do this using just projected DOS.
It is from the following paper https://www.sciencedirect.com/science/article/abs/pii/S0009261415008404. Can you tell how to do it?

Offline Troels-Markussen

  • Regular ATK user
  • **
  • Posts: 12
  • Country: dk
  • Reputation: 1
  • QuantumATK staff
    • View Profile
Re: Comparing DOS contribution from various orbitals
« Reply #4 on: June 25, 2020, 10:38 »
Hi,

The calculations can be run with something like

Code: [Select]
ProjectOnShellsByElementAndSpin = ProjectionGenerator(atoms=ElementsProjection, l_quantum_numbers=True, spin=UpDownProjection)

projected_density_of_states = ProjectedDensityOfStates(
    configuration=bulk_configuration,
    kpoints=kpoint_grid,
    projections=ProjectOnShellsByElementAndSpin,
    energies=numpy.linspace(-10, 4, 1000)*eV,
    energy_zero_parameter=FermiLevel,
    bands_above_fermi_level=All,
    spectrum_method=TetrahedronMethod,
)

where I defined a new projection generator to project on elements, shells (s, p, d, etc.) and spin up/down.

Regarding the plotting, it will definitely be possible with the upcoming 2020.09 release. There you can rather easily customize plot to e.g. flip the sign of a given curve (in this case the spin-down component). For now, you might need to make the plots yourself by getting each individual pdos using p_xx = projected_density_of_states.evaluate(projection_index=xx), where xx is the index of the specific projection. And the plot the results using pylab or matplotlib.

Offline hsuya

  • Heavy ATK user
  • ***
  • Posts: 74
  • Country: in
  • Reputation: 0
    • View Profile
Re: Comparing DOS contribution from various orbitals
« Reply #5 on: June 26, 2020, 16:53 »
Okay. Thanks :)