[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