[Wien] Wavefunction above Fermi energy and normalization

Leandro Salemi leandro.salemi at physics.uu.se
Mon Dec 4 18:01:37 CET 2017


Dear Pr. Blaha,

Thank you for your quick answer. You are totally right with the case.in2 file …


For the wavefunction, that’s how I do :


For the interstitial, I integrate the product of PW over the whole space and subtract the part from the spheres using a Rayleigh-expansion of a PW in terms of spherical harmonics.


In the spheres, I compute terms like Alm* Blm \int u_l(r) dot(u)_l(r) r*r dr for the spheres. These coefficients are found in case.almblm and are actually Alm(k) = SUM_G C_G Alm(k+G) (this I got from a previous mailing thread). I have also terms like Alm* Clm \int u_l(r) u_lo__l(r) r*r dr to take into account the APW+lo and LO ! I guess that the Clm’s in case.almclm are also the ones multiplied by their coefficient C_G(LO) (which are not really part of the PW expansion), just like for Alm and Blm. I sum those terms over the different indexes l,m and over the spheres.


Actually, I follow more less what is presented in the paper of C. Ambrosch-Draxl and J. O. Sofo (Computer Physics Communications 175 (2006) 1–14). They computed <Psi_mk| p |Psi_nk> so I of course adapted the formalism to my need.


Since you said that wavefunctions where all normalized, even above E_F, I must have missed something somewhere … If you see any mistake in what I have written there or have any references, works or source code I should look at, I would be pleased to hear that ! My aim is to extract exactly the wavefunctions. I will then manipulate them.


Thank you very much,


Best regards,


Leandro Salemi


P.S. : I might have answered in a not-proper way since I had not received the mail (I did not pay attention that my account was disabled for the reception of the mail ...). Sorry for the inconvenience (now it is enabled).





Peter Blaha<https://www.mail-archive.com/search?l=wien@zeus.theochem.tuwien.ac.at&q=from:%22Peter+Blaha%22> Mon, 04 Dec 2017 06:13:01 -0800<https://www.mail-archive.com/search?l=wien@zeus.theochem.tuwien.ac.at&q=date:20171204>


Of course all the wave functions are normalized. It comes automatically after solving the generalized eigenvalue problem in lapw1. Without properly normalized wave functions, how should we calculate an electron density which yields the desired number of electrons ??

Why did you modify the code ?
It would be much simpler to set NE in case.in2 to a larger number ....

I don't know how you actually calculated the norm of a wave function, but due to the dual representation, it is not so straightforward.


On 12/04/2017 02:55 PM, Leandro Salemi wrote:


Dear WIEN2K users and developers,


I am currently playing with the wavefunctions in WIEN2K in order to
compute material-dependent properties. I must then extract them !


I managed to extract the relevant quantities (C_nk(G), the coefficents
A_lm, B_lm, C_lm and the radial functions) in order to build the
wavefunction. When I try to compute the norm of the wavefunction, I find
that it is quite well normalized BUT only for states which are below the
Fermi energy … For states above, discrepancies arise and I find numbers
like 0.8 or 1.3 …


To output the A_lm, B_lm of unoccupied states with "x lapw2 -alm", I
modified slightly the l2main.F routine. The following has been done :

IF(MODUS.EQ.'ALM ') then

!LEANDRO INCLUDE EMPTY BANDS (START)

NEMAX_SAVE=NEMAX

NEMAX=NE

!LEANDRO INCLUDE EMPTY BANDS (END)

WRITE(24,2055) s_kvec,t_kvec,z_kvec,n,ne,bname

write(24,*) jatom,nemin,nemax,' jatom,nemin,nemax'

endif


where my modification is in between the “!LEANDRO …”. What I did it just
saying that the NEMAX (which normally refers to the number of occupied
bands) should go up to the highest computed state and thus, can go above
the Fermi level.


I was wondering that may be, the states are automatically normalized but
only for those below the Fermi level. If this is the case, then I can
compute the norm and divide by the sqrt. Am I right or am I missing
something ? Since the wavefunction is the basic mathematical description
of the material, extracting wrong quantities would be quite problematic ...

I am of course taking into account the local orbitals in the process !

Are the wavefunctions only normalized below E_F ? If yes, do you know in
which part the normalization is done ?


If anyone has experience with this topic or any suggestion, I would be
please to hear ! I have already checked throughout the mailing list and
the user guide ...


Thank you,


Leandro Salemi




_______________________________________________
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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20171204/f9205ce5/attachment.html>


More information about the Wien mailing list