Page 1 of 1

G-vectors in wavedes

Posted: Wed Mar 04, 2009 4:16 pm
by jnoffsinger
Hello,

I am trying to calculate a few things using the wavefunctions from VASP-4.6. In order to perform my calculations, I need the reciprocal space components of the wavefunctions

psi_{k} = \sum_G C_(k-G) e^(iG dot r)

The wavefunctions stored in WAVECAR appear to be what I need. I've written a quick fortran code to read in the wavefunctions (record length, number of bands, number of plane waves, eigenvalues, k-coordinate, etc) in much the same way it is done in fileio.f90

Unfortunately I also need the coordinates of the G-vector associated with C_(k-G), and as far as I can tell this information is not stored in the file.

Is it printed out somewhere, or is there a standard method of calculating/ennumerating these vectors? I can't seem to find it with random 'grep'-ping of the code

Thank you

G-vectors in wavedes

Posted: Fri Mar 06, 2009 4:20 pm
by admin
you are correct, WAVECAR only gives the Fourier-coefficients (without the basis functions) of the PW-wavefunctions. As this file is meant for vasp-internal use (i.e. continuation or post-processing jobs) only,
the basis functions are not written out.

G-vectors in wavedes

Posted: Fri Mar 06, 2009 9:57 pm
by jnoffsinger
Is there an option to print out the basis functions? I'm pretty sure there isn't -- but it seems like it should be possible somewhere without a lot of modification. If this is a breach of the terms of use to try to find this, please let me know.

G-vectors in wavedes

Posted: Thu Apr 23, 2009 4:37 pm
by panda
Hi! I am interested in this as well. I have read through the VASP fileio.F and main.F source, and am planning on writing a small program as you have done to extract the necessary information to calculate the orbital overlap integral. Is it possible if you could provide some guidance in this area, as I am not well versed in FORTRAN (although I am learning). I am also interested in your question regarding the basis functions and how one would obtain them. Thanks and I look forward to your reply :)

G-vectors in wavedes

Posted: Wed May 20, 2009 5:24 pm
by karmabandit
If all you need is overlap integrals, you technically don't need to know which coefficient is which, as long as both wavefunctions have them in the same order. Just multiply pairs of coefficients together and sum them, and you have the overlap (works for any orthonormal basis). Of course, I'd also like to put operators inside the integral, which would require the G vectors. If anyone has made progress on this, please let me know.

Edit: There's probably a lot of technical details that make this not true. Like if things aren't norm-conserving, then probably it isn't an orthonormal basis. Or even if you did get the correct order of coefficients in the file, you are probably still not getting the core part of the wavefunction correct.
<span class='smallblacktext'>[ Edited Wed May 20 2009, 08:01PM ]</span>