From db6ab659a1c425066569250ec3703220629c6931 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 24 May 2018 16:19:27 +0200 Subject: [PATCH] S2 --- plugins/mrcepa0/dressing.irp.f | 2 +- plugins/mrcepa0/mrcc_stoch_routines.irp.f | 4 +--- .../diagonalization_hs2_dressed.irp.f | 20 +++++++++---------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/plugins/mrcepa0/dressing.irp.f b/plugins/mrcepa0/dressing.irp.f index a376585c..fc4592ea 100644 --- a/plugins/mrcepa0/dressing.irp.f +++ b/plugins/mrcepa0/dressing.irp.f @@ -581,7 +581,7 @@ END_PROVIDER double precision, allocatable :: mrcc(:) double precision :: E_CI_before!, relative_error - double precision, save :: target_error = 0d0 + double precision, save :: target_error = 1d-4 allocate(mrcc(N_states)) diff --git a/plugins/mrcepa0/mrcc_stoch_routines.irp.f b/plugins/mrcepa0/mrcc_stoch_routines.irp.f index 1b605e6d..efa7a1ae 100644 --- a/plugins/mrcepa0/mrcc_stoch_routines.irp.f +++ b/plugins/mrcepa0/mrcc_stoch_routines.irp.f @@ -177,7 +177,6 @@ subroutine mrcc_collector(zmq_socket_pull, E, relative_error, delta, delta_s2, m usf = 0d0 num = 0d0 - print *, "TARGET ERROR :", relative_error delta = 0d0 delta_s2 = 0d0 allocate(delta_det(N_states, N_det_non_ref, 0:comb_teeth+1, 2)) @@ -310,7 +309,6 @@ subroutine mrcc_collector(zmq_socket_pull, E, relative_error, delta, delta_s2, m end if end do if(cur_cp == 0) then - print *, "no checkpoint reached so far..." cycle pullLoop end if !!!!!!!!!!!! @@ -337,7 +335,7 @@ subroutine mrcc_collector(zmq_socket_pull, E, relative_error, delta, delta_s2, m print '(I5,F15.7,E12.4,F10.2)', cur_cp, E(mrcc_stoch_istate)+E0+avg, eqt, time-timeInit end if - if ((dabs(eqt) < relative_error .and. cps_N(cur_cp) >= 30) .or. total_computed == N_det_generators) then + if (((dabs(eqt)/(E(mrcc_stoch_istate)+E0+avg) < relative_error) .and. cps_N(cur_cp) >= 10) .or. total_computed == N_det_generators) then if (zmq_abort(zmq_to_qp_run_socket) == -1) then call sleep(1) if (zmq_abort(zmq_to_qp_run_socket) == -1) then diff --git a/src/Davidson/diagonalization_hs2_dressed.irp.f b/src/Davidson/diagonalization_hs2_dressed.irp.f index c57312a9..c6ccf99d 100644 --- a/src/Davidson/diagonalization_hs2_dressed.irp.f +++ b/src/Davidson/diagonalization_hs2_dressed.irp.f @@ -254,9 +254,9 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ dressing_column_h, size(dressing_column_h,1), s_tmp, size(s_tmp,1), & 1.d0, W(1,shift+1), size(W,1)) -! call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & -! dressing_column_s, size(dressing_column_s,1), s_tmp, size(s_tmp,1), & -! 1.d0, S(1,shift+1), size(S,1)) + call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & + dressing_column_s, size(dressing_column_s,1), s_tmp, size(s_tmp,1), & + 1.d0, S(1,shift+1), size(S,1)) call dgemm('T','N', N_st, N_st_diag, sze, 1.d0, & @@ -267,13 +267,13 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ psi_coef, size(psi_coef,1), s_tmp, size(s_tmp,1), & 1.d0, W(1,shift+1), size(W,1)) -! call dgemm('T','N', N_st, N_st_diag, sze, 1.d0, & -! dressing_column_s, size(dressing_column_s,1), & -! U(1,shift+1), size(U,1), 0.d0, s_tmp, size(s_tmp,1)) -! -! call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & -! psi_coef, size(psi_coef,1), s_tmp, size(s_tmp,1), & -! 1.d0, S(1,shift+1), size(S,1)) + call dgemm('T','N', N_st, N_st_diag, sze, 1.d0, & + dressing_column_s, size(dressing_column_s,1), & + U(1,shift+1), size(U,1), 0.d0, s_tmp, size(s_tmp,1)) + + call dgemm('N','N', sze, N_st_diag, N_st, 0.5d0, & + psi_coef, size(psi_coef,1), s_tmp, size(s_tmp,1), & + 1.d0, S(1,shift+1), size(S,1)) endif