From 96f26a3516cb8a74332bf836094afa6247b2b637 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sun, 8 Nov 2020 17:11:27 +0100 Subject: [PATCH] Fixed threshold_from_pt2 --- src/davidson/diagonalization_hs2_dressed.irp.f | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/davidson/diagonalization_hs2_dressed.irp.f b/src/davidson/diagonalization_hs2_dressed.irp.f index aa748628..bd339367 100644 --- a/src/davidson/diagonalization_hs2_dressed.irp.f +++ b/src/davidson/diagonalization_hs2_dressed.irp.f @@ -181,7 +181,7 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ endif overlap = 0.d0 - PROVIDE nuclear_repulsion expected_s2 psi_bilinear_matrix_order psi_bilinear_matrix_order_reverse threshold_davidson_pt2 + PROVIDE nuclear_repulsion expected_s2 psi_bilinear_matrix_order psi_bilinear_matrix_order_reverse threshold_davidson_pt2 threshold_davidson_from_pt2 call write_time(6) write(6,'(A)') '' @@ -600,7 +600,7 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ if ((itertot>1).and.(iter == 1)) then - !don't print + !don't print continue else write(*,'(1X,I3,1X,100(1X,F16.10,1X,F11.6,1X,E11.3))') iter-1, to_print(1:3,1:N_st) @@ -608,9 +608,12 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_ ! Check convergence if (iter > 1) then + if (threshold_davidson_from_pt2) then converged = dabs(maxval(residual_norm(1:N_st))) < threshold_davidson_pt2 - endif - + else + converged = dabs(maxval(residual_norm(1:N_st))) < threshold_davidson + endif + endif do k=1,N_st if (residual_norm(k) > 1.e8) then