[Pw_forum] question about complex band code

Manoj Srivastava manoj at phys.ufl.edu
Fri Aug 29 23:04:48 CEST 2008


Dear Alexander and PWSCF users, 
 I have a question about the subroutine PWCOND of PWSCF, which calculates
complex bands. We are solving the generalized eigen value problem, A
X=exp(ikd) B X, where A and B and are required matrices. After the
problem is solved the information about k, which is complex eigen value is
stored in band.re , band.im and band.co files, and as the name suggests
they are purely real, purely imaginary and complex eigenvalues,
respectively. Generally, for each fixed energy we get few k's either real
or imaginary or both. 
 My question is about calculation of this complex eigen value. Total no.
of k we get from solving above GEP should be equal to the number of basis
used to describe A or B. I believe the information of k is contained in
kval(:) array defined in the compbs_2 subroutine of PWCOND. When I print
it out, I do get total number of k's which are same as the total number of
basis vectors.  This is not the case with bands.re, bands.im or bands.co
files. For each energy value they have arbitrary number of k's, why is it
so? What makes it throw some k values that it gets from 'kval'? I think, I
am missing something when the code goes from 'kval(:)' to bands.re,
bands.im and bands.co files. Does someone have any idea how does the code
go from kval(:) to write bands.re, bands.im or bands.co files? 

Regards, 
Manoj Srivastava,
Physics Graduate Student, 
University of Florida,
Gainesville, FL 32601 
USA





More information about the users mailing list