Author Topic: regarding mulliken populations and noncollinear spin  (Read 3114 times)

0 Members and 1 Guest are viewing this topic.

Offline Mausumi Chattopadhyaya

  • Regular QuantumATK user
  • **
  • Posts: 10
  • Country: in
  • Reputation: 0
    • View Profile
Hi,
We want to perform spin-polarized Mulliken population analysis for a certain Fe-complex by using ATK 12.8.2. After the calculation we have found in the output file that in the "Mulliken Population Report" section it printed only the total spin value instead of printing spin up and spin down values of electrons separately. I want to see the "Mulliken Population Report" for spin-up and spin-down electrons separately. A certain portion of the output file is given below:
                                     xy     zy  zz-rr     zx  xx-yy   
 27  Fe   7.578  1.103        0.162  0.248  0.195  0.222  0.275
                                     s
                      0.027        0.027
                                     xy     zy  zz-rr     zx  xx-yy
                      5.166        0.566  1.247  0.834  1.061  1.457
                                     s
                      0.569        0.569
                                     y      z      x         
                      0.713        0.237  0.248  0.228

Please tell me how can I get the Mulliken Population Report separately for up and down spin electrons and what I have to write exactly in the .py file?

My next query is about the noncollinear spin calculation on the same complex. We have performed the noncollinear spin calculation by using the block:

#----------------------------------------
# Exchange-Correlation
#----------------------------------------
exchange_correlation = NCLDA.PZ

Apart from that we have specified the spin direction in physical spherical coordinates and orbital Mulliken population by using the blocks:
 
# -------------------------------------------------------------
# Initial State
# -------------------------------------------------------------
bulk_configuration.setCalculator(
    calculator = LCAOCalculator( ),
    initial_spin = InitialSpin(scaled_spins=[(Carbon, 0.0, 0.0*numpy.pi*Radians, 0.0*numpy.pi*Radians), (Hydrogen, 0.0, 0.0*numpy.pi*Radians, 0.0*numpy.pi*Radians), (Nitrogen, 0.0, 0.0*numpy.pi*Radians, 0.0*numpy.pi*Radians), (Selenium, 0.0, 0.0*numpy.pi*Radians, 0.0*numpy.pi*Radians), (Iron, 1.0, 0.5*numpy.pi*Radians, 0.4*numpy.pi*Radians)])
)
bulk_configuration.update()
nlsave('C:\Documents and Settings\Administrator\Desktop\fefe-hs-0v-ncspin-lda-final.nc', bulk_configuration)
nlprint(bulk_configuration)

# -------------------------------------------------------------
# Mulliken population
# -------------------------------------------------------------
mulliken_population = MullikenPopulation(bulk_configuration)
nlsave('C:\Documents and Settings\Administrator\Desktop\fefe-hs-0v-ncspin-lda-final.nc', mulliken_population)
nlprint(mulliken_population)

It is already mentioned in the ATK 12.8.2 manual that "The atom Mulliken Population can be diagonalized to give a local spin direction, and this direction is reported by the nlprint command for noncollinear systems. The nlprint report for noncollinear spin also shows the orbital mulliken populations in the local spin direction." But unfortunately we could not find any spin direction in the "Mulliken Population Report" section of the output file and it looks exactly similar as that obtained earlier for spin-polarized calculation (see the selected portion of the output file above). I want to know how can I see the local spin direction in the output file? What is the correct .py file from which one can visualize the spin direction?
Is it possible to get the spin-up and spin-down values separately for a noncollinear system instead of total spin value? If yes please tell me the proper keyword/block in the .py file.

Thanks in advance.

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: regarding mulliken populations and noncollinear spin
« Reply #1 on: April 5, 2013, 15:53 »
Regarding spin polarized, you must have done something wrong, the mulliken population should be the following:
i.e. one line for each spin (try attached fe.py with 12.8.2)

Element   Total  Shell | Orbitals                                            |
|                        |                                                     |
|                        |     xy     zy  zz-rr     zx  xx-yy                  |
|   0  Fe   5.008  0.693 |  0.136  0.136  0.142  0.136  0.142                  |
|           2.992  0.508 |  0.116  0.116  0.081  0.116  0.081                  |
|                        |      s                                              |
|                 -0.022 | -0.022                                              |
|                 -0.035 | -0.035                                              |
|                        |     xy     zy  zz-rr     zx  xx-yy                  |
|                  3.542 |  0.656  0.656  0.788  0.656  0.788                  |
|                  1.614 |  0.396  0.396  0.213  0.396  0.213                  |
|                        |      s                                              |
|                  0.315 |  0.315                                              |
|                  0.335 |  0.335                                              |
|                        |      y      z      x                                |
|                  0.480 |  0.160  0.160  0.160                                |
|                  0.570 |  0.190  0.190  0.190                                |
+-------------------------------------------------------------


For the non-collinear, at the top you will find the local spin direction for each atom
|                                                                              |
| Element     Up        Down       Theta (Degrees)   Phi (Degrees)             |
|                                                                              |
|   0  Fe     5.0080    2.9920         0.0000          69.7093                 |
|                                                                              |
The rest of the mulliken population it is for each atom projected onto the local spin direction.

Note that the non-collinear in ATK12.8.2 is experimental, and has several known bugs. We are planning an alpha release of 13.8 in the near future, where the non-collinear feature has no known bugs, it also allows for visualizing the local spin direction.