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
Moderators: Global Moderator, Moderator
G-vectors in wavedes
Last edited by jnoffsinger on Wed Mar 04, 2009 4:16 pm, edited 1 time in total.
-
- Administrator
- Posts: 2921
- Joined: Tue Aug 03, 2004 8:18 am
- License Nr.: 458
G-vectors in wavedes
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.
the basis functions are not written out.
Last edited by admin on Fri Mar 06, 2009 4:20 pm, edited 1 time in total.
G-vectors in wavedes
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.
G-vectors in wavedes
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.
G-vectors in wavedes
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>
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.