completed the implementation of the new tq_smoothing variable in the new xml schema

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12620 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
pietrodelugas 2016-07-27 17:17:32 +00:00
parent 112cd8555d
commit 2933c14f78
4 changed files with 18 additions and 4 deletions

View File

@ -3678,6 +3678,13 @@ SUBROUTINE qes_write_electron_control(iun, obj)
WRITE(iun, '(A)',advance='no') 'false'
ENDIF
CALL iotk_write_end(iun, 'real_space_q',indentation=.FALSE.)
CALL iotk_write_begin(iun, 'tqr_smoothing',new_line=.FALSE.)
IF (obj%tqr_smoothing) THEN
WRITE(iun, '(A)',advance='no') 'true'
ELSE
WRITE(iun, '(A)',advance='no') 'false'
ENDIF
CALL iotk_write_end(iun, 'tqr_smoothing',indentation=.FALSE.)
CALL iotk_write_begin(iun, 'diago_thr_init')
WRITE(iun, '(E20.7)') obj%diago_thr_init
CALL iotk_write_end(iun, 'diago_thr_init')
@ -3697,7 +3704,8 @@ END SUBROUTINE qes_write_electron_control
SUBROUTINE qes_init_electron_control(obj, tagname, diagonalization, mixing_mode, &
mixing_beta, conv_thr, mixing_ndim, max_nstep, real_space_q, &
diago_thr_init, diago_full_acc, diago_cg_maxiter)
tqr_smoothing, diago_thr_init, diago_full_acc, &
diago_cg_maxiter)
IMPLICIT NONE
TYPE(electron_control_type) :: obj
@ -3710,6 +3718,7 @@ SUBROUTINE qes_init_electron_control(obj, tagname, diagonalization, mixing_mode,
INTEGER :: mixing_ndim
INTEGER :: max_nstep
LOGICAL :: real_space_q
LOGICAL :: tqr_smoothing
REAL(DP) :: diago_thr_init
LOGICAL :: diago_full_acc
INTEGER :: diago_cg_maxiter
@ -3722,6 +3731,7 @@ SUBROUTINE qes_init_electron_control(obj, tagname, diagonalization, mixing_mode,
obj%mixing_ndim = mixing_ndim
obj%max_nstep = max_nstep
obj%real_space_q = real_space_q
obj%tqr_smoothing = tqr_smoothing
obj%diago_thr_init = diago_thr_init
obj%diago_full_acc = diago_full_acc
obj%diago_cg_maxiter = diago_cg_maxiter

View File

@ -739,6 +739,7 @@ TYPE :: electron_control_type
INTEGER :: mixing_ndim
INTEGER :: max_nstep
LOGICAL :: real_space_q
LOGICAL :: tqr_smoothing
REAL(DP) :: diago_thr_init
LOGICAL :: diago_full_acc
INTEGER :: diago_cg_maxiter

View File

@ -261,7 +261,7 @@ MODULE qexsd_input
CALL qes_init_electron_control(obj,TAGNAME,diagonalization=diagonalization,&
mixing_mode=mixing_mode,mixing_beta=mixing_beta,&
conv_thr=conv_thr,mixing_ndim=mixing_ndim,max_nstep=max_nstep,&
real_space_q=tqr,tq_smoothing=tq_smoothing,diago_thr_init=diago_thr_init,&
real_space_q=tqr,tqr_smoothing=tq_smoothing,diago_thr_init=diago_thr_init,&
diago_full_acc=diago_full_acc,diago_cg_maxiter=diago_cg_maxiter)
!
END SUBROUTINE qexsd_init_electron_control

View File

@ -1236,7 +1236,7 @@ INTEGER :: ierr
CHARACTER(LEN=256) :: diago_str_, mixing_str_
REAL(DP) :: mixing_beta_, conv_thr_, diago_thr_init_
INTEGER :: mixing_ndim_, max_nstep_, diago_cg_maxiter_
LOGICAL :: real_space_q_, diago_full_acc_
LOGICAL :: real_space_q_, diago_full_acc_, tqr_smoothing_
!
ispresent = .FALSE.
CALL iotk_scan_begin( iunit, "electron_control", FOUND = ispresent, IERR = ierr )
@ -1263,6 +1263,9 @@ IF ( ierr /= 0 ) RETURN
CALL iotk_scan_dat( iunit, "real_space_q" , real_space_q_, IERR = ierr )
IF ( ierr /= 0 ) RETURN
!
CALL iotk_scan_dat ( iunit, "tqr_smoothing", tqr_smoothing_, IERR = ierr )
IF ( ierr /= 0 ) RETURN
!
CALL iotk_scan_dat( iunit, "diago_thr_init" , diago_thr_init_, IERR = ierr )
IF ( ierr /= 0 ) RETURN
!
@ -1278,7 +1281,7 @@ IF ( ierr /= 0 ) THEN
RETURN
END IF
CALL qes_init_electron_control ( obj, "electron_control", diago_str_, mixing_str_, mixing_beta_, &
conv_thr_, mixing_ndim_, max_nstep_, real_space_q_, diago_thr_init_, &
conv_thr_, mixing_ndim_, max_nstep_, real_space_q_, tqr_smoothing_, diago_thr_init_, &
diago_full_acc_, diago_cg_maxiter_)
!
END SUBROUTINE qexsd_get_electron_control