From a19543f6c743fcba74ac861c1be92eeb96b80fd9 Mon Sep 17 00:00:00 2001 From: Yann Garniron Date: Wed, 4 May 2016 18:23:05 +0200 Subject: [PATCH] alpha = triple-quadruple --- plugins/mrcepa0/dressing_slave.irp.f | 9 ++---- plugins/mrcepa0/mrcepa0_general.irp.f | 45 ++++++++++++++++++++------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/plugins/mrcepa0/dressing_slave.irp.f b/plugins/mrcepa0/dressing_slave.irp.f index 3076e2a8..3491ba7f 100644 --- a/plugins/mrcepa0/dressing_slave.irp.f +++ b/plugins/mrcepa0/dressing_slave.irp.f @@ -158,16 +158,11 @@ subroutine mrsc2_dressing_slave(thread,iproc) i = komon(m) - !if(HP(1,i) + HP(1,k) <= 2 .and. HP(2,i) + HP(2,k) <= 2) cycle - - hJi = h_(J,i) - hIi = h_(i_I,i) - - call apply_excitation(psi_non_ref(1,1,i),exc_Ik,det_tmp,ok,N_int) if(.not. ok) cycle if(HP(1,i) + HP(1,k) <= 2 .and. HP(2,i) + HP(2,k) <= 2) then - if(is_in_wavefunction(det_tmp, N_int)) cycle +! if(is_in_wavefunction(det_tmp, N_int)) cycle + cycle end if !if(isInCassd(det_tmp, N_int)) cycle diff --git a/plugins/mrcepa0/mrcepa0_general.irp.f b/plugins/mrcepa0/mrcepa0_general.irp.f index 6694e80a..df10de34 100644 --- a/plugins/mrcepa0/mrcepa0_general.irp.f +++ b/plugins/mrcepa0/mrcepa0_general.irp.f @@ -71,19 +71,40 @@ subroutine run_pt2(N_st,energy) threshold_selectors = 1.d0 threshold_generators = 0.999d0 - N_det_generators = lambda_mrcc_pt2(0) - do i=1,N_det_generators - j = lambda_mrcc_pt2(i) - do k=1,N_int - psi_det_generators(k,1,i) = psi_non_ref(k,1,j) - psi_det_generators(k,2,i) = psi_non_ref(k,2,j) - enddo - do k=1,N_st - psi_coef_generators(i,k) = psi_non_ref_coef(j,k) - enddo - enddo - SOFT_TOUCH N_det_generators psi_det_generators psi_coef_generators ci_eigenvectors_dressed ci_eigenvectors_s2_dressed ci_electronic_energy_dressed +! N_det_generators = lambda_mrcc_pt2(0) +! do i=1,N_det_generators +! j = lambda_mrcc_pt2(i) +! do k=1,N_int +! psi_det_generators(k,1,i) = psi_non_ref(k,1,j) +! psi_det_generators(k,2,i) = psi_non_ref(k,2,j) +! enddo +! do k=1,N_st +! psi_coef_generators(i,k) = psi_non_ref_coef(j,k) +! enddo +! enddo +! SOFT_TOUCH N_det_generators psi_det_generators psi_coef_generators ci_eigenvectors_dressed ci_eigenvectors_s2_dressed ci_electronic_energy_dressed + N_det_generators = lambda_mrcc_pt2(0) + N_det_cas + do i=1,N_det_cas + do k=1,N_int + psi_det_generators(k,1,i) = psi_ref(k,1,i) + psi_det_generators(k,2,i) = psi_ref(k,2,i) + enddo + do k=1,N_st + psi_coef_generators(i,k) = psi_ref_coef(i,k) + enddo + enddo + do i=N_det_cas+1,N_det_generators + j = lambda_mrcc_pt2(i - N_det_cas) + do k=1,N_int + psi_det_generators(k,1,i) = psi_non_ref(k,1,j) + psi_det_generators(k,2,i) = psi_non_ref(k,2,j) + enddo + do k=1,N_st + psi_coef_generators(i,k) = psi_non_ref_coef(j,k) + enddo + enddo + SOFT_TOUCH N_det_generators psi_det_generators psi_coef_generators ci_eigenvectors_dressed ci_eigenvectors_s2_dressed ci_electronic_energy_dressed call H_apply_mrcc_PT2(pt2, norm_pert, H_pert_diag, N_st) print *, 'Final step'