calculation on OEP was problematic for one-electron case

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4902 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
degironc 2008-05-09 15:55:01 +00:00
parent 86f2e46c4f
commit 680300adb0
1 changed files with 6 additions and 1 deletions

View File

@ -51,8 +51,8 @@ subroutine dfx_new(dchi0, vx)
oc(nu)*psi(1:grid%mesh,1,nu)*dchi0(1:grid%mesh,nu)
end do
vslater(1:grid%mesh,is) = vslater(1:grid%mesh,is) / rho(1:grid%mesh,is)
! write (*,*) vslater(1:grid%mesh,is)
end do
! write (*,*) vslater(1:grid%mesh)
else
vslater(1:grid%mesh,1:nspin) = vx(1:grid%mesh,1:nspin)
end if
@ -81,6 +81,11 @@ subroutine dfx_new(dchi0, vx)
end do
drhox(1:grid%mesh,1:nspin,1) = drho1(1:grid%mesh,1:nspin)
if (c1 < 1.d-12 ) then
vx(1:grid%mesh,1:nspin) = vslater(1:grid%mesh,1:nspin)
return
end if
!- ITERATE !
do iterx =1,niterx
!- set a new normalized correction vector vvx = chim1*drho/norm