I have a question about the code in cgwf.F90 file. to compute the steepest decent direction, why the code does not use the vresid, but use the ghc which is <C|H|C> (right?). This seems to be inconsistent with the Eq 5.10 in M.C. Payen's paper titled "iterative minimization technique for ab initio total-energy calculations: molecule dynamics and conjugate gradient".
I have pasted part of the code here (in cgwf.F90)
Code: Select all
! ======================================================================
! =========== COMPUTE THE STEEPEST DESCENT DIRECTION ===================
! ======================================================================
! Compute the steepest descent direction
if (gen_eigenpb) then
! Store <G|H-lambda.S|C> in direc
! $OMP PARALLEL DO PRIVATE(ipw) &
! $OMP&SHARED(direc,npw,nspinor,vresid)
do ipw=1,npw*nspinor
direc(1,ipw)=vresid(1,ipw)
direc(2,ipw)=vresid(2,ipw)
end do
! $OMP END PARALLEL DO
else
! Store <G|H|C> in direc
! $OMP PARALLEL DO PRIVATE(ipw) &
! $OMP&SHARED(direc,ghc,npw,nspinor)
do ipw=1,npw*nspinor
direc(1,ipw)=ghc(1,ipw)
direc(2,ipw)=ghc(2,ipw)
end do
! $OMP END PARALLEL DO
end if
deallocate(vresid)
best
chen