Call to update_pot taken out from hinit1. It is not a good idea to do in the

same routine i) extrapolation of rho and psi (requiring variables from two MD 
steps) and ii) miscellaneous initialization of quantities depending only upon 
the current values of positions. Unneeded call to hinit1 removed.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11779 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
giannozz 2015-10-09 16:50:00 +00:00
parent 3655cd2b70
commit 135ba4ee97
3 changed files with 12 additions and 7 deletions

View File

@ -79,7 +79,6 @@ PROGRAM initial_state
CALL read_file
CALL openfil_pp
CALL hinit0
CALL hinit1
IF ( nks == 1 ) THEN
ik = 1
CALL davcio( evc, 2*nwordwfc, iunwfc, ik, -1 )

View File

@ -33,11 +33,6 @@ SUBROUTINE hinit1()
IMPLICIT NONE
!
!
! ... update the wavefunctions, charge density, potential
! ... update_pot initializes structure factor array as well
!
CALL update_pot()
!
! ... calculate the total local potential
!
CALL setlocal()

View File

@ -156,7 +156,18 @@ SUBROUTINE run_pwscf ( exit_status )
! ... terms of the hamiltonian depending upon nuclear positions
! ... are reinitialized here
!
IF ( lmd .OR. lbfgs ) CALL hinit1()
IF ( lmd .OR. lbfgs ) THEN
!
! ... update the wavefunctions, charge density, potential
! ... update_pot initializes structure factor array as well
!
CALL update_pot()
!
! ... re-initialize atomic position-dependent quantities
!
CALL hinit1()
!
END IF
!
END DO main_loop
!