From e3114aa5665fd571c06829780b0e8e178012f7a0 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 28 Sep 2016 21:14:35 +0200 Subject: [PATCH] Added dummy selection --- plugins/Full_CI/H_apply.irp.f | 5 ++++ plugins/Perturbation/pt2_equations.irp.f | 31 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/plugins/Full_CI/H_apply.irp.f b/plugins/Full_CI/H_apply.irp.f index 9e22b965..d870e4b0 100644 --- a/plugins/Full_CI/H_apply.irp.f +++ b/plugins/Full_CI/H_apply.irp.f @@ -23,6 +23,11 @@ s.unset_skip() #s.unset_openmp() print s +s = H_apply("FCI_no_selection") +s.set_selection_pt2("dummy") +s.unset_skip() +print s + s = H_apply("FCI_mono") s.set_selection_pt2("epstein_nesbet_2x2") s.unset_double_excitations() diff --git a/plugins/Perturbation/pt2_equations.irp.f b/plugins/Perturbation/pt2_equations.irp.f index e406cd03..66083f6f 100644 --- a/plugins/Perturbation/pt2_equations.irp.f +++ b/plugins/Perturbation/pt2_equations.irp.f @@ -345,6 +345,37 @@ subroutine pt2_epstein_nesbet_sc2 ($arguments) end +subroutine pt2_dummy ($arguments) + use bitmasks + implicit none + $declarations + + BEGIN_DOC + ! Dummy perturbation to add all connected determinants. + END_DOC + + integer :: i,j + double precision :: diag_H_mat_elem_fock, h + double precision :: i_H_psi_array(N_st) + PROVIDE selection_criterion + + call i_H_psi_minilist(det_pert,minilist,idx_minilist,N_minilist,psi_selectors_coef,Nint,N_minilist,psi_selectors_size,N_st,i_H_psi_array) + + h = diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint) + do i =1,N_st + if (i_H_psi_array(i) /= 0.d0) then + c_pert(i) = i_H_psi_array(i) / (electronic_energy(i) - h) + H_pert_diag(i) = h*c_pert(i)*c_pert(i) + e_2_pert(i) = 1.d0 + else + c_pert(i) = 0.d0 + e_2_pert(i) = 0.d0 + H_pert_diag(i) = 0.d0 + endif + enddo + +end + SUBST [ arguments, declarations ]