From ce7296448b133eff7a1715789d30124853b64a76 Mon Sep 17 00:00:00 2001 From: kucukben Date: Mon, 23 Jul 2012 07:50:09 +0000 Subject: [PATCH] q_with_l=.true. type of pseudopotentials are also treated. git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9213 c92efa57-630b-4861-b058-cf58834340f0 --- CPV/src/pseudopot_sub.f90 | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/CPV/src/pseudopot_sub.f90 b/CPV/src/pseudopot_sub.f90 index c78e6c528..38a3d684a 100644 --- a/CPV/src/pseudopot_sub.f90 +++ b/CPV/src/pseudopot_sub.f90 @@ -1417,16 +1417,20 @@ do l = lmin, lmax do ir = 1, upf(is)%kkbeta - if ( rgrid(is)%r(ir) >= upf(is)%rinner(l) ) then - qrl(ir,ijv,l)=upf(is)%qfunc(ir,ijv) - else - qrl(ir,ijv,l)=upf(is)%qfcoef(1,l,iv,jv) - do i = 2, upf(is)%nqf - qrl(ir,ijv,l)=qrl(ir,ijv,l) + & - upf(is)%qfcoef(i,l,iv,jv)*rgrid(is)%r(ir)**(2*i-2) - end do - qrl(ir,ijv,l) = qrl(ir,ijv,l) * rgrid(is)%r(ir)**(l+1) - end if + IF( upf(is)%q_with_l ) THEN + qrl(ir,ijv,l)=upf(is)%qfuncl(ir,ijv,l) + ELSE + if ( rgrid(is)%r(ir) >= upf(is)%rinner(l) ) then + qrl(ir,ijv,l)=upf(is)%qfunc(ir,ijv) + else + qrl(ir,ijv,l)=upf(is)%qfcoef(1,l,iv,jv) + do i = 2, upf(is)%nqf + qrl(ir,ijv,l)=qrl(ir,ijv,l) + & + upf(is)%qfcoef(i,l,iv,jv)*rgrid(is)%r(ir)**(2*i-2) + end do + qrl(ir,ijv,l) = qrl(ir,ijv,l) * rgrid(is)%r(ir)**(l+1) + end if + ENDIF end do end do end do