yes, except the S matrix is never stored anywhere but is applied to the wfc by the s_1psi routine,

so more something like


 sum = 0.d0

 call s_1psi( npwx, npw, evc(1,b), spsi )

 DO  i = 1,npw

     sum = sum + conjg(evc(i,b)) * spsi(i)
 END DO



stefano


On 11/12/18 15:36, John McFarland wrote:

Dear all,


As I understand it, the wavefunction for each k-point is given by ecv(:,:), with the first index representing a single particle basis and the second index representing each band.  I'm guessing that when a normalized wavefunction is contracted over the S matrix, the result should equal one for each band.  What I think this would look like in code is:


 sum = 0

 DO  i = 1,npwx

    DO j = 1,npwx

       sum = sum + evc(i,b) * S(i,j) * evc(j,b)

    END DO

 END DO


and sum should equal 1 for any band b.  Is my understanding correct?


Best regards,

John McFarland


_______________________________________________
users mailing list
users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users

Reply via email to