Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Bug with istwfk = 1? complex wavefunction for a 0 k-point calculation

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Bug with istwfk = 1? complex wavefunction for a 0 k-point calculation


Chronological Thread 
  • From: Xavier Gonze <gonze@pcpm.ucl.ac.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] Bug with istwfk = 1? complex wavefunction for a 0 k-point calculation
  • Date: Wed, 3 May 2006 09:54:08 +0200

Dear George,

Thanks for your investigations.
Perhaps the bug is only in the cut3d treatment of the istwfk=1 case ?

Xavier

On 03 May 2006, at 02:20, Shu Heng Pau wrote:

Hi,

I think the option istwfk = 1 is faulty. If I insist on not using the
time-reversal symmetry for k = [0 0 0] (thus istwfk = 1), I occasionally end
up getting a complex wavefunction. When I set istwfk = 2, I always obtain the
correct output --- a real wavefunction.

Thus, unless the use of istwfk =1 for k=[0 0 0] is illegal, I think there is a
bug.

Thanks,
George


Quoting Shu Heng Pau <gpau@MIT.EDU>:

Hi,

Thank you, Matthieu. I believe I have done all the points mentioned below and
am still getting a complex wavefunction:

1. Gamma point used: included the keyword kpt 0 0 0.
2. The phase is not constant: imag(psi)/real(psi) is not constant.
3. istwfk is set to 1.
4. and xred is set to -0.125 -0.125 -0.125; 0.125 0.125 0.125.

For the cut3d, I have used option 4 and the output for the 4th psi can be found
here:

http://web.mit.edu/~gpau/Public/abinit/

In the above folder, I have also included my input files, my pseudopotential
file and the output file. Note that I have excluded the nonlocal part of the
pseudopotential and also core correction. I have previously done a simulation
for a single atom with simple cubic structure --- both the psi obtained are
real though.

Is there any other reasons that may lead to a complex wavefunction?

Thanks,
George

Quoting Matthieu Verstraete <mjv500@york.ac.uk>:


Hi -

The default behavior of abinit is to use a shift of 0.5 0.5 0.5 for the kpoints. Check the values in the kpt array of your output. In your case this still brings you to the "zone boundary" where the wavefunctions can still be chosen as real. The operative word is "can": as you said yourself it can have an arbitrary phase.

In our case the psi are stocked in reciprocal space, where this implies 1/2 the coefficients can be obtained from the other 1/2 using symmetries (k -> -k+G), but for k/=Gamma I'm not sure this is equivalent to making the choice "psi real". So

1) make sure you really are using Gamma and not L

2) look at the value of istwfk which states how the coeffs are stocked and recreated using symmetries. If you set istwfk to 1 and still have your problem, and are sure you're using gamma _and_ that it's not just a phase shift, then we may have a bug... Possibly in the way the wfk are output. You used cut3d? Which mode, etc?

3) Oh, yeah, it may be linked to your choice of unit cell: yours doesn't explicitly include inversion symmetry. Use

xred -0.125 -0.125 -0.125
0.125 0.125 0.125

to be sure. Or try a simpler system (1 atom/UC).

Matthieu

--
================================================================
Dr. Matthieu Verstraete mailto:mjv500@york.ac.uk
Dept. of Physics, University of York, tel: +44 1904 43 22 08
Heslington, YO10 5DD York, United Kingdom fax: +44 1904 43 22 14











Archive powered by MHonArc 2.6.16.

Top of Page