This thread is locked.Only browsing is available.
Top Page > Browsing
kSpin state population
Date: 2023/03/03 01:50
Name: Malone

Dear OpenMX developers,

I have a simple question: why every kSpin + MulPCalc + BandDispersion calculation yields (N_alpha + N_beta = Num_Ele) values non-equal to unity for every state below the Fermi level?
Typical excerpt from the MulPop file is

# kx[/Ang.]  ky[/Ang.]  kz[/Ang.]  Eig[eV]    Num_Ele    N_{alpha}  N_{beta}    Spin_x      Spin_y      Spin_z      k1D[/Ang.]
  0.000000  -0.330936  -0.191061  -2.237866    0.138818    0.085055    0.053763  -0.010532  -0.003180    0.003129    0.868044 
メンテ
Page: [1]

Re: kSpin state population ( No.1 )
Date: 2023/03/04 02:15
Name: Naoya Yamaguchi

Hi,

The population may not be comprised of contributions of all the atoms.
You can find that `Num_Ele` is 1 by setting the total number of atoms to `Num.of.Extract.Atom`.

Regards,
Naoya Yamaguchi
メンテ
Re: kSpin state population ( No.2 )
Date: 2023/03/04 04:18
Name: Malone

Dear Naoya Yamaguchi,

A running sequence

openmx ./work/Au111_Surface_BD.dat
kSpin ./work/Au111_Surface_BD.dat
MulPCalc ./work/Au111_Surface_BD.dat

but where the the atom #4 (hydrogen) is deleted produces this:

$ cat Au111Surface_BD_MC.MulPop | head -n 10
# kx[/Ang.]  ky[/Ang.]  kz[/Ang.]  Eig[eV]    Num_Ele    N_{alpha}  N_{beta}    Spin_x      Spin_y      Spin_z      k1D[/Ang.]
  0.000000    1.089661    0.629122  -0.060125    0.416760    0.395231    0.021529    0.020573  -0.004613    0.037370    0.000002 
  0.000000    1.081590    0.624462  -0.065125    0.407762    0.376064    0.031698    0.025222  -0.000912    0.034437    0.004932 
  0.000000    1.073517    0.619800  -0.079945    0.421011    0.409533    0.011478    0.010586  -0.002663    0.039806    0.009864 
  0.000000    1.065446    0.615140  -0.104074    0.417756    0.406821    0.010935    0.009076  -0.002975    0.039589    0.014796 
  0.000000    1.057375    0.610480  -0.136729    0.413022    0.402010    0.011012    0.008466  -0.004232    0.039100    0.019728 
  0.000000    1.049302    0.605820  -0.176950    0.403464    0.382957    0.020507    0.015614  -0.000779    0.036245    0.024660 
  0.000000    1.041231    0.601160  -0.223686    0.392339    0.360022    0.032317    0.021255    0.000058    0.032771    0.029592 
  0.000000    1.033160    0.596500  -0.275880    0.385865    0.347830    0.038035    0.021528    0.003392    0.030980    0.034524 
  0.000000    1.025088    0.591840  -0.332521    0.382047    0.347437    0.034610    0.019893    0.000192    0.031283    0.039457 

Relevant excerpts from the input file:

Atoms.Number        3
Atoms.SpeciesAndCoordinates.Unit  FRAC  # Ang|AU
<Atoms.SpeciesAndCoordinates
  1  Au    0.10000000000000    0.33333333333333    0.66666666666667    8.5    8.5    0.0    0.0    0.0    0.0    0    off
  2  Au    0.11111111111111    0.66666666666667    0.33333333333333    8.5    8.5    0.0    0.0    0.0    0.0    0    off
  3  Au    0.12222222222222    0.00000000000000    0.00000000000000    8.5    8.5    0.0    0.0    0.0    0.0    0    off
Atoms.SpeciesAndCoordinates>

.......
.......
.......

#
# Spin textures; Mulliken population
#

Filename.scfout    Au111Surface.scfout # default: default
Filename.outdata  Au111Surface_BD    # default: default
Calc.Type          BandDispersion      # default: MulPOnly
Energy.Range        -1.0  1.0          # eV; default: 0.0  0.0
Band.Nkpath                2
<Band.kpath
  135  0.0  0.500000  0.000000    0.0  0.000000  0.000000    M  G
  135  0.0  0.000000  0.000000    0.0  -0.500000  0.000000    G -M
Band.kpath>
Filename.atomMulP Au111Surface_BD.AMulPBand # default: default
Filename.xyzdata  Au111Surface_BD_MC      # default: default
Num.of.Extract.Atom        3                # default: 1
Extract.Atom              1 2 3            # default: 1 2 ... (Num.of.Extract.Atom)
MulP.Vec.Scale      0.1  0.1  0.1          # default: 1.0  1.0  1.0
Data.Reduction            1                # default: 1                                                                     
メンテ
Re: kSpin state population ( No.3 )
Date: 2023/03/04 14:41
Name: Naoya Yamaguchi

Dear Malone,

I tried your case, but the issue was not be reproduced.
$  head -n 10 3098_BD_MC.MulPop
# kx[/Ang.]  ky[/Ang.]  kz[/Ang.]  Eig[eV]    Num_Ele    N_{alpha}  N_{beta}    Spin_x      Spin_y      Spin_z      k1D[/Ang.]
  0.000000    1.089661    0.629122  -0.060125    1.000000    0.782800    0.217200    0.077912    0.005585    0.056560    0.000002
  0.000000    1.081590    0.624462  -0.065125    1.000001    0.673164    0.326837    0.087254    0.021746    0.034633    0.004932
  0.000000    1.073517    0.619800  -0.079945    1.000001    0.799222    0.200779    0.071104    0.024448    0.059844    0.009864
  0.000000    1.065446    0.615140  -0.104074    1.000000    0.767025    0.232975    0.073912    0.029831    0.053405    0.014796
  0.000000    1.057375    0.610480  -0.136729    1.000001    0.700723    0.299278    0.083957    0.023656    0.040144    0.019728
  0.000000    1.049302    0.605820  -0.176950    1.000001    0.550446    0.449555    0.086496    0.040140    0.010089    0.024660
  0.000000    1.041231    0.601160  -0.223686    1.000000    0.618928    0.381072    0.087560    0.030480    0.023786    0.029592
  0.000000    1.033160    0.596500  -0.275880    1.000000    0.477135    0.522865    0.083524    0.045741  -0.004573    0.034524
  0.000000    1.025088    0.591840  -0.332521    1.000000    0.687334    0.312666    0.083229    0.025946    0.037467    0.039457

This issue might come from your environment. You may reinstall the OpenMX package with the latest patch.

Regards,
Naoya Yamaguchi
メンテ
Re: kSpin state population ( No.4 )
Date: 2023/03/08 06:49
Name: Malone

Dear Naoya Yamaguchi,

Okay, the problem with 1 is solved by the patch. However, I wonder why the spin moments are always small even if the alpha-beta difference is large. For example, I expect <S_z> = 1 in case of a full spin polarization (Na = 1, Nb = 0).


I want to note also that the MulPop output differs from yours:
# kx[/Ang.]  ky[/Ang.]  kz[/Ang.]  Eig[eV]    Num_Ele    N_{alpha}  N_{beta}    Spin_x      Spin_y      Spin_z      k1D[/Ang.]
  0.000000    1.089661    0.629122  -0.060125    1.000000    0.159790    0.840210    0.020075    0.065659  -0.068042    0.000002 
  0.000000    1.081590    0.624462  -0.065125    1.000000    0.486368    0.513632    0.083378    0.048133  -0.002726    0.004932 
  0.000000    1.073517    0.619800  -0.079945    1.000000    0.073776    0.926224    0.040638  -0.019787  -0.085245    0.009864 
  0.000000    1.065446    0.615140  -0.104074    1.000000    0.062194    0.937806    0.037102  -0.015095  -0.087561    0.014796 
  0.000000    1.057375    0.610480  -0.136729    1.000000    0.021778    0.978222    0.005396    0.000216  -0.095644    0.019728 
  0.000000    1.049302    0.605820  -0.176950    1.000000    0.773647    0.226353    0.042713  -0.066020    0.054729    0.024660 
  0.000000    1.041231    0.601160  -0.223686    1.000000    0.048846    0.951154  -0.027398    0.010432  -0.090231    0.029592 
  0.000000    1.033160    0.596500  -0.275880    1.000000    0.083373    0.916627  -0.026689    0.035520  -0.083325    0.034524 
メンテ
Re: kSpin state population ( No.5 )
Date: 2023/03/08 17:29
Name: Naoya Yamaguchi

Dear Malone,

Your model is too thin to realize the electronic bands with the k-resolved spin polarization such as the Rashba spin splitting. For the Au(111) surface, one of the previous studies said that 23 atomic layers were required: https://doi.org/10.1088/0953-8984/21/6/064239 . In the example, the hydrogen was added as a trick to avoid it.

Regards,
Naoya Yamaguchi
メンテ

Page: [1]