Commit 6fbd3e6e by Matteo Gerosa

### Fixed timing "chidiago" in davidson_diago. Removed comments. Restart in Wfreq...

`Fixed timing "chidiago" in davidson_diago. Removed comments. Restart in Wfreq working at all points.`
parent c956fae1
 ... @@ -489,13 +489,13 @@ SUBROUTINE solve_gfreq_k(l_read_restart) ... @@ -489,13 +489,13 @@ SUBROUTINE solve_gfreq_k(l_read_restart) ENDIF ENDIF ! ! DO iks = 1, k_grid%nps ! KPOINT-SPIN (INTEGRAL OVER K') DO iks = 1, k_grid%nps ! KPOINT-SPIN (INTEGRAL OVER K') IF (ikks==bksks%lastdone_ks .AND. ib==bksks%lastdone_band .AND. iks <= bksks%lastdone_ksc) CYCLE ! ! ik = k_grid%ip(iks) ik = k_grid%ip(iks) ! ! time_spent(1) = get_clock( 'glanczos' ) time_spent(1) = get_clock( 'glanczos' ) ! ! CALL q_grid%find( k_grid%p_cart(:,ikk) - k_grid%p_cart(:,ik), 1, 'cart', iq, g0 ) CALL q_grid%find( k_grid%p_cart(:,ikk) - k_grid%p_cart(:,ik), 1, 'cart', iq, g0 ) IF (ikks==bksks%lastdone_ks .AND. ib==bksks%lastdone_band .AND. iks <= bksks%lastdone_ksc) CYCLE ! ! CALL preallocate_solvegfreq_q( iks_l2g(ikks), iks_l2g(iks), qp_bandrange(1), qp_bandrange(2), pert) CALL preallocate_solvegfreq_q( iks_l2g(ikks), iks_l2g(iks), qp_bandrange(1), qp_bandrange(2), pert) ! ! ... ...
 ... @@ -899,9 +899,6 @@ SUBROUTINE solve_wfreq_k(l_read_restart,l_generate_plot) ... @@ -899,9 +899,6 @@ SUBROUTINE solve_wfreq_k(l_read_restart,l_generate_plot) ! ! ! PSIC ! PSIC ! ! ! IF(gamma_only) THEN ! CALL SINGLEBAND_invfft(npw,evc(1,iv),npwx,psic,dffts%nnr) ! ELSE IF(noncolin) THEN IF(noncolin) THEN CALL single_invfft_k(dffts,npwkq,npwx,evckpq(1 ,iv),psick_nc(1,1),'Wave',igk_k(1,ikqs)) CALL single_invfft_k(dffts,npwkq,npwx,evckpq(1 ,iv),psick_nc(1,1),'Wave',igk_k(1,ikqs)) CALL single_invfft_k(dffts,npwkq,npwx,evckpq(npwx+1,iv),psick_nc(1,2),'Wave',igk_k(1,ikqs)) CALL single_invfft_k(dffts,npwkq,npwx,evckpq(npwx+1,iv),psick_nc(1,2),'Wave',igk_k(1,ikqs)) ... @@ -939,13 +936,6 @@ SUBROUTINE solve_wfreq_k(l_read_restart,l_generate_plot) ... @@ -939,13 +936,6 @@ SUBROUTINE solve_wfreq_k(l_read_restart,l_generate_plot) ENDDO ENDDO ! ! ! Bring it to R-space ! Bring it to R-space ! IF(gamma_only) THEN ! CALL SINGLEBAND_invfft(npwq,pertg(1),npwx,pertr,dffts%nnr) ! DO ir=1,dffts%nnr ! pertr(ir)=psic(ir)*pertr(ir) ! ENDDO ! CALL SINGLEBAND_fwfft(npw,pertr,dffts%nnr,dvpsi(1,ip),npwx) ! ELSE IF(noncolin) THEN IF(noncolin) THEN CALL single_invfft_k(dffts,npwq,npwqx,pertg(1),pertr,'Wave',igq_q(1,iq)) CALL single_invfft_k(dffts,npwq,npwqx,pertg(1),pertr,'Wave',igq_q(1,iq)) DO ir=1,dffts%nnr DO ir=1,dffts%nnr ... ...
 ... @@ -517,10 +517,6 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -517,10 +517,6 @@ SUBROUTINE davidson_diago_k ( ) lastdone_iq = 0 lastdone_iq = 0 l_restart_q_done = .FALSE. l_restart_q_done = .FALSE. ! ! CALL start_clock( 'chidiago' ) time_spent(1)=get_clock( 'chidiago' ) CALL get_clock_called( 'stern' , sternop_ncalls(1) ) ! ! ... DISTRIBUTE nvecx ! ... DISTRIBUTE nvecx ! ! pert=idistribute() pert=idistribute() ... @@ -562,6 +558,10 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -562,6 +558,10 @@ SUBROUTINE davidson_diago_k ( ) ! ! QPOINTS_LOOP: & QPOINTS_LOOP: & DO iq = 1, q_grid%np DO iq = 1, q_grid%np ! CALL start_clock( 'chidiago' ) time_spent(1)=get_clock( 'chidiago' ) CALL get_clock_called( 'stern' , sternop_ncalls(1) ) ! ! nbase = nvec nbase = nvec conv = .FALSE. conv = .FALSE. ... @@ -659,7 +659,7 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -659,7 +659,7 @@ SUBROUTINE davidson_diago_k ( ) ENDDO ENDDO ! ! pccg_res_tr2 = -1._DP pccg_res_tr2 = -1._DP !CALL dfpt_q ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) ! CALL dfpt ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) CALL dfpt ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) dav_iter = -1 dav_iter = -1 CALL wstat_restart_write( dav_iter, notcnv, nbase, ew, hr_distr, vr_distr, iq) CALL wstat_restart_write( dav_iter, notcnv, nbase, ew, hr_distr, vr_distr, iq) ... @@ -699,7 +699,7 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -699,7 +699,7 @@ SUBROUTINE davidson_diago_k ( ) ENDDO ENDDO ! ! pccg_res_tr2 = MIN(0.01_DP,1000000._DP*tr2_dfpt) pccg_res_tr2 = MIN(0.01_DP,1000000._DP*tr2_dfpt) !CALL dfpt_q ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) ! CALL dfpt ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) CALL dfpt ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) ! ! ! ! ... @@ -795,7 +795,7 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -795,7 +795,7 @@ SUBROUTINE davidson_diago_k ( ) ! Apply operator with DFPT ! Apply operator with DFPT ! ! pccg_res_tr2 = tr2_dfpt pccg_res_tr2 = tr2_dfpt !CALL dfpt_q ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) ! CALL dfpt ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) CALL dfpt ( mloc, dvg(1,mstart), dng(1,mstart), pccg_res_tr2, iq ) ! ! ! ... update the reduced hamiltonian ! ... update the reduced hamiltonian ... @@ -900,6 +900,8 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -900,6 +900,8 @@ SUBROUTINE davidson_diago_k ( ) ! ! END DO iterate END DO iterate ! ! CALL stop_clock( 'chidiago' ) ! ENDDO QPOINTS_LOOP ! iq ENDDO QPOINTS_LOOP ! iq ! ! DEALLOCATE( conv ) DEALLOCATE( conv ) ... @@ -912,8 +914,6 @@ SUBROUTINE davidson_diago_k ( ) ... @@ -912,8 +914,6 @@ SUBROUTINE davidson_diago_k ( ) DEALLOCATE( dng ) DEALLOCATE( dng ) DEALLOCATE( dvg ) DEALLOCATE( dvg ) ! ! CALL stop_clock( 'chidiago' ) ! RETURN RETURN ! ! END SUBROUTINE END SUBROUTINE ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment