BUG FIX: check of lspinorb flag consistency was assuming wrong precedence of .neqv. operator.

Small fix to the print out of the scattering energy (when Nchannels=0).
GS


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5896 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
sclauzer 2009-09-07 10:30:34 +00:00
parent 640387cc8c
commit 54612f051c
4 changed files with 14 additions and 6 deletions

View File

@ -1,5 +1,9 @@
Fixed in version 4.1.1:
* Check of lspinorb flag consistency between left/right lead and
scattering region in pwcond.x was not working properly; wrong
print-out of E-Ef when Nchannels=0 also fixed.
* Check on convergence of variable-cell damped dynamics was not
working as expected in the presence of constraints

View File

@ -36,9 +36,11 @@ SUBROUTINE cond_out ()
endif
if(nspin.eq.4) then
write(stdout,'(/,9x, ''Noncollinear calculations'')')
if(lspinorb) &
write(stdout,'(/,9x, ''Noncollinear calculations with spin-orbit'')')
if(lspinorb) then
write(stdout,'(/,9x, ''Noncollinear calculations with spin-orbit'')')
else
write(stdout,'(/,9x, ''Noncollinear calculations'')')
endif
endif
write (stdout, 300) nrx, nry, nz1

View File

@ -314,10 +314,10 @@ ELSE
IF (two_fermi_energies.or.i_cons /= 0) &
CALL errore('pwcond',&
'The pwcond code with constrained magnetization is not yet available',1)
IF (ikind==1.and.lso_l.neqv.lso_s) &
IF (ikind==1.and.(lso_l.neqv.lso_s)) &
CALL errore('pwcond',&
'Spin-orbit flag in left lead and scattering region do not match',1)
IF (ikind==2.and.(lso_l.neqv.lso_s.or.lso_r.neqv.lso_s)) &
IF (ikind==2.and.((lso_l.neqv.lso_s).or.(lso_r.neqv.lso_s))) &
CALL errore('pwcond',&
'Spin-orbit flag in left, right lead and scattering region do not match',1)
ENDIF

View File

@ -48,6 +48,9 @@ implicit none
endif
!--
! electron scattering energy in eV with respect to the Fermi level
eev = earr(ien)
!--
! Goes further only if nchan_in, nchan_out <> 0 or
! nchan_in <> 0 and nchan_out = 0 but lorb = .t.
@ -71,7 +74,6 @@ implicit none
write(stdout,*)
endif
eev = earr(ien)
ntran=4*n2d+npol*(norbs+nocrosl+nocrosr)
allocate( ipiv( ntran ) )