[Pw_forum] question about PWCOND

Manoj Srivastava manoj at phys.ufl.edu
Mon Aug 17 06:35:41 CEST 2009


I am sorry I forgot to mention the value of 'eps', it is 1.d-8. 

Thanks,
Manoj Srivastava
University of Florida
Gainesville, FL
On Sun, 16 Aug 2009, Manoj Srivastava wrote:

> Dear Alexander and PWSCF users,
>  I have a question about an expression in the scatter_forw.f90 subroutine,
> specifically about the following expression - 
>  IF (ABS(AIMAG(zk(lam, kp))).LT.eps) THEN
>            f1(lam,iorb)=-ezk(lam)*CONJG(di(iorb,lam))*zk2(lam)
>            f2(lam,iorb)=-ezk(lam)*CONJG(ci(iorb,lam))*zk2(lam)
>           ELSE
>            f1(lam,iorb)=-CONJG(ci(iorb,lam))*zk2(lam)
>            f2(lam,iorb)=-CONJG(di(iorb,lam))*zk2(lam)
>           ENDIF 
>  Why does this expression have if/else statement depending on imaginary
> part of zk? I did some algebra and realized that f1 for (ABS(AIMAG(zk(lam,
> kp))).LT.eps) is related with f1 for (ABS(AIMAG(zk(lam, kp))).GT.eps) by
> changing zk to -zk. Same is true for f2. It is defined in previous
> subroutine that
>   zk=sqrt(E-E_lambda)
> where E is given energy and E_lambda is eigenvalue of 2D problem. 
> Square root gives us two solution, one would be zk and
> another -zk, and I dont understand how do you choose which solution to use
> in the expression for f1 and f2, depending on imaginary part of zk. 
> Would anyone mind to explain? 
> 
> Regards, 
> Manoj
> 
> 



More information about the Pw_forum mailing list