Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] Reading wavefunction output file: how to obtain GS or RF from header?

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] Reading wavefunction output file: how to obtain GS or RF from header?


Chronological Thread 
  • From: Xavier Gonze <xavier.gonze@uclouvain.be>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] Reading wavefunction output file: how to obtain GS or RF from header?
  • Date: Wed, 24 Jun 2009 09:03:34 +0200

Dear Rob,


On 22 Jun 2009, at 04:43, Rob wrote:



Hello,

I'm writing a routine to read the binary wavefunction output file (foobar_WFK).
The format depends on whether it was a Ground State (GS) or Response
Function (RF) calculation.

How can I determine the GS or RF from the binary file?
I can't see which info in the header tells me this.

(I know how to determine cplex and for cplex = 2 it must be RF;
however, both GS and RF can have cplex = 1).


You should recognize the files by their name :
the appendix used for RF files is _1WF while it is _WFK or _WFQ
for the ground-state type files.



================================

Another question:
The description in the abinit-help website says for the ground state wf file:


bantot=0
do isppol=1,nsppol
do ikpt=1,nkpt
write(unit) npw,nspinor,nband
write(unit) kg(1:3,1:npw)
write(unit) eigen(1+bantot:nband+bantot),occ(1+bantot:nband+bantot)
do iband=1,nband
write(unit) (cg(ii+index),ii=1,2*npw*nspinor)
enddo
bantot=bantot+nband
enddo
enddo


What is 'index' here? Should that be 'iband' or 'ikpt' instead?

This information is indeed missing :


bantot=0
index=0

do isppol=1,nsppol
do ikpt=1,nkpt
write(unit) npw,nspinor,nband
write(unit) kg(1:3,1:npw)
write(unit) eigen(1+bantot:nband+bantot),occ(1+bantot:nband+bantot)
do iband=1,nband
write(unit) (cg(ii+index),ii=1,2*npw*nspinor)
enddo
bantot=bantot+nband
index=index+2*npw*nspinor*nband

enddo
enddo

Thanks.
Rob.



Bestwishes,
X.




Archive powered by MHonArc 2.6.16.

Top of Page