[Wien] Any additional phase factor for the complex spherical harmonics used on wien2k

Peter Blaha pblaha at theochem.tuwien.ac.at
Mon Jul 3 08:05:26 CEST 2017


NiO has inversion symmetry.

Thus the wavefunction can be written purely as real function (no 
imaginary terms) and this is what wien2k utilizes (for performance reasons).
Obviously, from a pure real wave function you get a pure real density 
matrix.

Apparently, VASP does not use this, has an arbitrary phase and the 
off-diagonal term is complex instead of real.

On 07/02/2017 07:06 PM, Yongxin Yao wrote:
> Dear Peter, developers and users:
>
>      Are there any additional phase factors associated with the complex
> spherical harmonics (besides the commonly used Condon-Shortley Phase)
> when wien2k calculates the local one-body density matrix in SRC_lapwdm,
> which is needed, for instance, for LDA+U?
>      I did some calculation for FeO (struct file attached), where I got
> the the following density matrix of Fe-d orbitals using "x lapwdm"
> (case.indm attached.) for a lapw-lda calculation.
>
> nks.real in comp_sph_harm basis:
>     1.2815    0.0000   -0.0000    0.3136    0.0000
>     0.0000    1.0857   -0.0000    0.0000   -0.3136
>    -0.0000   -0.0000    1.3175    0.0000   -0.0000
>     0.3136    0.0000    0.0000    1.0857   -0.0000
>     0.0000   -0.3136   -0.0000   -0.0000    1.2815
> nks.imag in comp_sph_harm basis:
>     0.0000    0.0000    0.0000    0.0000    0.0000
>     0.0000    0.0000    0.0000    0.0000    0.0000
>     0.0000    0.0000    0.0000    0.0000    0.0000
>     0.0000    0.0000    0.0000    0.0000    0.0000
>     0.0000    0.0000    0.0000    0.0000    0.0000
>
> which are all real numbers up to numerical accuracy not shown.
>
> The puzzle is that this density matrix does not commute with all of the
> the local site symmetries, which are attached in the end.
>
> Then I cross-checked my analysis using VASP, where I (of course) did a
> basis transformation from real Harmonics to complex harmonics, and I
> obtained the following dm:
>
> nks.real in comp_sph_harm basis:
>     0.6611   -0.0000   -0.0000    0.0000    0.0000
>    -0.0000    0.5653    0.0000   -0.0000   -0.0000
>    -0.0000    0.0000    0.6790   -0.0000   -0.0000
>     0.0000   -0.0000   -0.0000    0.5653    0.0000
>     0.0000   -0.0000   -0.0000    0.0000    0.6611
> nks.imag in comp_sph_harm basis:
>     0.0000    0.0000    0.0000   -0.1554    0.0000
>    -0.0000    0.0000   -0.0000    0.0000    0.1554
>    -0.0000    0.0000    0.0000    0.0000    0.0000
>     0.1554   -0.0000   -0.0000    0.0000   -0.0000
>     0.0000   -0.1554   -0.0000    0.0000    0.0000
>
> Note that there is a difference of spin-factor of two. I should say that
> the numbers are quite close, but what I got from VASP has the
> off-diagonal elements in imaginary part instead of real part. And this
> density matrix does commute with all of the site symmetry operations!
>
> To summarize, besides a commonly used "Condon-Shortley Phase" as stated
> in ylm.F file, does wien2k "secretly" add some additional phase factors
> to the complex spherical  Harmonics?
>
> Note that here the locmat is identity and the parameter isplit doesn't
> seem to be used in SRC_lapwdm.
>
>     Thanks for your help.
>
>     Regards, Yongxin
>
>
> Appendix:
>
> 12   site point group operations for Fe site of the FeO struct
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 1 / 12
>  agroup
>  type: unity I
>  Hermann_Mauguin: 1
>  Schoenflies: 1
>  1.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00  1.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  1.0000e+00  Uc
>           1           0           0
>           0           1           0
>           0           0           1  Uf
>  0.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  0  angle
>  0.0000e+00  0.0000e+00  0.0000e+00  axis
>  0   inversion
>  - 0 1 2 3    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 2 / 12
>  agroup
>  type: rotation
>  Hermann_Mauguin: 2
>  Schoenflies: C2
>  1.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00 -1.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00 -1.0000e+00  Uc
>           1          -1           0
>           0          -1           0
>           0           0          -1  Uf
>  0.0000e+00 -0.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  3.1416e+00
> -0.0000e+00 -3.1416e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  180  angle
> -1.0000e+00  0.0000e+00  0.0000e+00  axis
>  0   inversion
>  - 0 1 3 2    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 3 / 12
>  agroup
>  type: rotation
>  Hermann_Mauguin: 2
>  Schoenflies: C2
> -5.0000e-01  8.6603e-01  0.0000e+00
>  8.6603e-01  5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00 -1.0000e+00  Uc
>           0           1           0
>           1           0           0
>           0           0          -1  Uf
>  0.0000e+00 -0.0000e+00  2.7207e+00
>  0.0000e+00  0.0000e+00 -1.5708e+00
> -2.7207e+00  1.5708e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  180  angle
>  5.0000e-01  8.6603e-01  0.0000e+00  axis
>  0   inversion
>  - 0 1 3 2    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 4 / 12
>  agroup
>  type: rotation
>  Hermann_Mauguin: 3
>  Schoenflies: C3
> -5.0000e-01  8.6603e-01  0.0000e+00
> -8.6603e-01 -5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00  1.0000e+00  Uc
>          -1           1           0
>          -1           0           0
>           0           0           1  Uf
>  0.0000e+00 -4.1888e+00  0.0000e+00
>  4.1888e+00  0.0000e+00 -0.0000e+00
> -0.0000e+00  0.0000e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  240  angle
>  0.0000e+00  0.0000e+00  1.0000e+00  axis
>  0   inversion
>  - 0 1 2 3    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 5 / 12
>  agroup
>  type: rotation
>  Hermann_Mauguin: 3
>  Schoenflies: C3
> -5.0000e-01 -8.6603e-01  0.0000e+00
>  8.6603e-01 -5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00  1.0000e+00  Uc
>           0          -1           0
>           1          -1           0
>           0           0           1  Uf
>  0.0000e+00 -2.0944e+00  0.0000e+00
>  2.0944e+00  0.0000e+00 -0.0000e+00
> -0.0000e+00  0.0000e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  120  angle
>  0.0000e+00  0.0000e+00  1.0000e+00  axis
>  0   inversion
>  - 0 1 2 3    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 6 / 12
>  agroup
>  type: rotation
>  Hermann_Mauguin: 2
>  Schoenflies: C2
> -5.0000e-01 -8.6603e-01  0.0000e+00
> -8.6603e-01  5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00 -1.0000e+00  Uc
>          -1           0           0
>          -1           1           0
>           0           0          -1  Uf
>  0.0000e+00 -0.0000e+00  2.7207e+00
>  0.0000e+00  0.0000e+00  1.5708e+00
> -2.7207e+00 -1.5708e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  180  angle
> -5.0000e-01  8.6603e-01  0.0000e+00  axis
>  0   inversion
>  - 0 1 3 2    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 7 / 12
>  agroup
>  type: inversion -I
>  Hermann_Mauguin: -1
>  Schoenflies: i
> -1.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00 -1.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00 -1.0000e+00  Uc
>          -1           0           0
>           0          -1           0
>           0           0          -1  Uf
>  0.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  0  angle
>  0.0000e+00  0.0000e+00  0.0000e+00  axis
>  1   inversion
>  - 0 1 3 2    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 8 / 12
>  agroup
>  type: rotoinversion
>  Hermann_Mauguin: m
>  Schoenflies: s
> -1.0000e+00  0.0000e+00  0.0000e+00
>  0.0000e+00  1.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  1.0000e+00  Uc
>          -1           1           0
>           0           1           0
>           0           0           1  Uf
>  0.0000e+00 -0.0000e+00  0.0000e+00
>  0.0000e+00  0.0000e+00  3.1416e+00
> -0.0000e+00 -3.1416e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  180  angle
> -1.0000e+00  0.0000e+00  0.0000e+00  axis
>  1   inversion
>  - 0 1 2 3    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 9 / 12
>  agroup
>  type: rotoinversion
>  Hermann_Mauguin: -2
>  Schoenflies: S2
>  5.0000e-01 -8.6603e-01  0.0000e+00
> -8.6603e-01 -5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00  1.0000e+00  Uc
>           0          -1           0
>          -1           0           0
>           0           0           1  Uf
>  0.0000e+00 -0.0000e+00  2.7207e+00
>  0.0000e+00  0.0000e+00 -1.5708e+00
> -2.7207e+00  1.5708e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  180  angle
>  5.0000e-01  8.6603e-01  0.0000e+00  axis
>  1   inversion
>  - 0 1 2 3    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 10 / 12
>  agroup
>  type: rotoinversion
>  Hermann_Mauguin: -3
>  Schoenflies: S3
>  5.0000e-01 -8.6603e-01  0.0000e+00
>  8.6603e-01  5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00 -1.0000e+00  Uc
>           1          -1           0
>           1           0           0
>           0           0          -1  Uf
>  0.0000e+00 -4.1888e+00  0.0000e+00
>  4.1888e+00  0.0000e+00 -0.0000e+00
> -0.0000e+00  0.0000e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  240  angle
>  0.0000e+00  0.0000e+00  1.0000e+00  axis
>  1   inversion
>  - 0 1 3 2    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 11 / 12
>  agroup
>  type: rotoinversion
>  Hermann_Mauguin: -3
>  Schoenflies: S3
>  5.0000e-01  8.6603e-01  0.0000e+00
> -8.6603e-01  5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00 -1.0000e+00  Uc
>           0           1           0
>          -1           1           0
>           0           0          -1  Uf
>  0.0000e+00 -2.0944e+00  0.0000e+00
>  2.0944e+00  0.0000e+00 -0.0000e+00
> -0.0000e+00  0.0000e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  120  angle
>  0.0000e+00  0.0000e+00  1.0000e+00  axis
>  1   inversion
>  - 0 1 3 2    basis_atoms_map  - 0 0 1 1    basis_types_map
> ------------------------------------------------------------------------------------------------
>  Site = 0
>  Operation number = 12 / 12
>  agroup
>  type: rotoinversion
>  Hermann_Mauguin: -2
>  Schoenflies: S2
>  5.0000e-01  8.6603e-01  0.0000e+00
>  8.6603e-01 -5.0000e-01  0.0000e+00
>  0.0000e+00  0.0000e+00  1.0000e+00  Uc
>           1           0           0
>           1          -1           0
>           0           0           1  Uf
>  0.0000e+00 -0.0000e+00  2.7207e+00
>  0.0000e+00  0.0000e+00  1.5708e+00
> -2.7207e+00 -1.5708e+00  0.0000e+00  A=generator U=+-exp(A) [not Uc and -1 if inversion]
>  180  angle
> -5.0000e-01  8.6603e-01  0.0000e+00  axis
>  1   inversion
>  - 0 1 2 3    basis_atoms_map  - 0 0 1 1    basis_types_map
>
>
>
>
>
> _______________________________________________
> Wien mailing list
> Wien at zeus.theochem.tuwien.ac.at
> http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
> SEARCH the MAILING-LIST at:  http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
>

-- 

                                       P.Blaha
--------------------------------------------------------------------------
Peter BLAHA, Inst.f. Materials Chemistry, TU Vienna, A-1060 Vienna
Phone: +43-1-58801-165300             FAX: +43-1-58801-165982
Email: blaha at theochem.tuwien.ac.at    WIEN2k: http://www.wien2k.at
WWW:   http://www.imc.tuwien.ac.at/TC_Blaha
--------------------------------------------------------------------------


More information about the Wien mailing list