[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 users
mailing list