Skip to Content.
Sympa Menu

forum - RE: [abinit-forum] Smoothness of the wavefunction in abinit

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

RE: [abinit-forum] Smoothness of the wavefunction in abinit


Chronological Thread 
  • From: "Allan, Douglas C Dr" <AllanDC@corning.com>
  • To: forum@abinit.org
  • Subject: RE: [abinit-forum] Smoothness of the wavefunction in abinit
  • Date: Tue, 12 Aug 2008 09:01:07 -0400

Dear Alex and Nicola,

I will add another small comment that may be helpful.
The -1 is no accident.
At least I know that at one time in the distant murky past of abinit, I
wrote a routine called "fxphas" for "fix phase" (back then Fortran77
only allowed 6-character names) whose purpose it was to avoid randomness
of the phase associated with Fourier coefficients of the wavefunction.
fxphas imposed a phase on the wavefunction by maximizing the real part,
so that if the underlying wavefunction were actually real then it would
be "rotated" into purely real coefficients. The normalization is
unaffected of course.
This was done mainly to avoid having the phase randomly wander around
from one iteration to the next.
Apparently this choice of phase convention can make the phase jump in
sign from one k-point to a nearby one. I don't know if a different
definition would avoid the jump, but I do know that if fxphas is still
in use then its operation explains what you are seeing.

Best regards,
Doug Allan

-----Original Message-----
From: Nicola Marzari [mailto:marzari@mit.edu]
Sent: Tuesday, August 12, 2008 12:20 AM
To: forum@abinit.org
Subject: Re: [abinit-forum] Smoothness of the wavefunction in abinit



Dear Alex,


well spotted. I think that the reason is that the solution of the
Kohn-Sham equations at any k-point is well-defined modulo an arbitrary
phase.

This means that if you take the wavefunction at any k-point and you
multiply it by exp (i alpha), where alpha is random, you get an equally
good solution. This is also the case for the Schroedinger equation -
it's a "gauge" freedom, and an arbitrary phase does not change any of
your physical expectation values (there is interesting stuff buried in
there of relevance to the electronic-structure community - e.g. the
Berry phase theory of piezoelectricity).

Note that I am assuming that all the (significantly non-zero) G-vectors
coefficients change abruptly (as seemed from your
post) and not that only a few.

Bottom line - the phase that you get from any electronic structure code
for the wavefunction at a given k is random. The specific subroutines
somehow determine the result, and it seems that the phase difference you
got is close to -1 . The fact that is -1 rather than some absolutely
random complex phase is probably due on how abinit evolves wavefunctions
(I would guess as a diagonalization of the hamiltonian, rather than a
conjugate-gradient minimization, but I do not really know - I actually
read the mailing list only to understand what the community finds easy
or difficult, in electronic-structure modeling), and so there is not a
total randomness in initial choices. As a side note, note that, unless
explicity enforced, the often-cited relation u_nk(r)=u_n(-k)^*(r) is
also true only modulo a phase, i.e. u_nk(r)=u_n(-k)^*(r) exp (i alpha).


nicola


Alex Kutana wrote:
> Dear abinit developers:
>
> I have made an observation that the Fourier coefficients of the
> wavefunction sometimes change abruptly upon moving between two
> points that are very close in the Brillouine zone.
>
---------------------------------------------------------------------
Prof Nicola Marzari Department of Materials Science and Engineering
13-5066 MIT 77 Massachusetts Avenue Cambridge MA 02139-4307 USA
tel 617.4522758 fax 2586534 marzari@mit.edu http://quasiamore.mit.edu




Archive powered by MHonArc 2.6.16.

Top of Page