diff --git a/src/davidson/diagonalization_hcsf_dressed.irp.f b/src/davidson/diagonalization_hcsf_dressed.irp.f index 7aaaa842..a88330f6 100644 --- a/src/davidson/diagonalization_hcsf_dressed.irp.f +++ b/src/davidson/diagonalization_hcsf_dressed.irp.f @@ -1,4 +1,5 @@ -subroutine davidson_diag_h_csf(dets_in,u_in,dim_in,energies,sze,sze_csf,N_st,N_st_diag,Nint,dressing_state,converged) +subroutine davidson_diag_h_csf(dets_in, u_in, dim_in, energies, sze, sze_csf, & + N_st, N_st_diag, Nint, dressing_state,converged) use bitmasks implicit none BEGIN_DOC diff --git a/src/davidson/diagonalize_ci.irp.f b/src/davidson/diagonalize_ci.irp.f index 6930cc07..befd1907 100644 --- a/src/davidson/diagonalize_ci.irp.f +++ b/src/davidson/diagonalize_ci.irp.f @@ -68,13 +68,21 @@ END_PROVIDER do_csf = s2_eig .and. only_expected_s2 .and. csf_based - if (diag_algorithm == "Davidson") then + if (diag_algorithm == 'Davidson') then if (do_csf) then - if (sigma_vector_algorithm == 'det') then - call davidson_diag_H_csf(psi_det,CI_eigenvectors, & - size(CI_eigenvectors,1),CI_electronic_energy, & - N_det,N_csf,min(N_det,N_states),min(N_det,N_states_diag),N_int,0,converged) +! if (sigma_vector_algorithm == 'det') then + call davidson_diag_H_csf (psi_det, & + CI_eigenvectors, & + size(CI_eigenvectors,1), & + CI_electronic_energy, & + N_det, & + N_csf, & + min(N_csf,N_states), & + min(N_csf,N_states_diag), & + N_int, & + 0, & + converged) ! else if (sigma_vector_algorithm == 'cfg') then ! call davidson_diag_H_csf(psi_det,CI_eigenvectors, & ! size(CI_eigenvectors,1),CI_electronic_energy, & @@ -82,11 +90,19 @@ END_PROVIDER ! else ! print *, irp_here ! stop 'bug' - endif +! endif else - call davidson_diag_HS2(psi_det,CI_eigenvectors, CI_s2, & - size(CI_eigenvectors,1),CI_electronic_energy, & - N_det,min(N_det,N_states),min(N_det,N_states_diag),N_int,0,converged) + call davidson_diag_HS2(psi_det, & + CI_eigenvectors, & + CI_s2, & + size(CI_eigenvectors,1), & + CI_electronic_energy, & + N_det, & + min(N_det,N_states), & + min(N_det,N_states_diag), & + N_int, & + 0, & + converged) endif integer :: N_states_diag_save @@ -107,9 +123,17 @@ END_PROVIDER CI_electronic_energy_tmp(1:N_states_diag_save) = CI_electronic_energy(1:N_states_diag_save) CI_eigenvectors_tmp(1:N_det,1:N_states_diag_save) = CI_eigenvectors(1:N_det,1:N_states_diag_save) - call davidson_diag_H_csf(psi_det,CI_eigenvectors_tmp, & - size(CI_eigenvectors_tmp,1),CI_electronic_energy_tmp, & - N_det,N_csf,min(N_det,N_states),min(N_det,N_states_diag),N_int,0,converged) + call davidson_diag_H_csf (psi_det, & + CI_eigenvectors_tmp, & + size(CI_eigenvectors_tmp,1), & + CI_electronic_energy_tmp, & + N_det, & + N_csf, & + min(N_csf,N_states), & + min(N_csf,N_states_diag), & + N_int, & + 0, & + converged) CI_electronic_energy(1:N_states_diag_save) = CI_electronic_energy_tmp(1:N_states_diag_save) CI_eigenvectors(1:N_det,1:N_states_diag_save) = CI_eigenvectors_tmp(1:N_det,1:N_states_diag_save) @@ -127,9 +151,17 @@ END_PROVIDER CI_eigenvectors_tmp(1:N_det,1:N_states_diag_save) = CI_eigenvectors(1:N_det,1:N_states_diag_save) CI_s2_tmp(1:N_states_diag_save) = CI_s2(1:N_states_diag_save) - call davidson_diag_HS2(psi_det,CI_eigenvectors_tmp, CI_s2_tmp, & - size(CI_eigenvectors_tmp,1),CI_electronic_energy_tmp, & - N_det,min(N_det,N_states),min(N_det,N_states_diag),N_int,0,converged) + call davidson_diag_HS2(psi_det, & + CI_eigenvectors_tmp, & + CI_s2_tmp, & + size(CI_eigenvectors_tmp,1), & + CI_electronic_energy_tmp, & + N_det, & + min(N_det,N_states), & + min(N_det,N_states_diag), & + N_int, & + 0, & + converged) CI_electronic_energy(1:N_states_diag_save) = CI_electronic_energy_tmp(1:N_states_diag_save) CI_eigenvectors(1:N_det,1:N_states_diag_save) = CI_eigenvectors_tmp(1:N_det,1:N_states_diag_save)