G-vectors in wavedes

Problems running VASP: crashes, internal errors, "wrong" results.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
jnoffsinger

G-vectors in wavedes

#1 Post by jnoffsinger » Wed Mar 04, 2009 4:16 pm

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
Last edited by jnoffsinger on Wed Mar 04, 2009 4:16 pm, edited 1 time in total.

admin
Administrator
Administrator
Posts: 2921
Joined: Tue Aug 03, 2004 8:18 am
License Nr.: 458

G-vectors in wavedes

#2 Post by admin » Fri Mar 06, 2009 4:20 pm

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.
Last edited by admin on Fri Mar 06, 2009 4:20 pm, edited 1 time in total.

jnoffsinger

G-vectors in wavedes

#3 Post by jnoffsinger » Fri Mar 06, 2009 9:57 pm

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.
Last edited by jnoffsinger on Fri Mar 06, 2009 9:57 pm, edited 1 time in total.

panda

G-vectors in wavedes

#4 Post by panda » Thu Apr 23, 2009 4:37 pm

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 :)
Last edited by panda on Thu Apr 23, 2009 4:37 pm, edited 1 time in total.

karmabandit

G-vectors in wavedes

#5 Post by karmabandit » Wed May 20, 2009 5:24 pm

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>
Last edited by karmabandit on Wed May 20, 2009 5:24 pm, edited 1 time in total.

Post Reply