diff --git a/src/csf/obtain_I_foralpha.irp.f b/src/csf/obtain_I_foralpha.irp.f index 1e4eed79..3a216066 100644 --- a/src/csf/obtain_I_foralpha.irp.f +++ b/src/csf/obtain_I_foralpha.irp.f @@ -49,8 +49,9 @@ subroutine obtain_connected_I_foralpha(idxI, Ialpha, connectedI, idxs_connectedI Isomo = Ialpha(1,1) Idomo = Ialpha(1,2) Nsomo_alpha = POPCNT(Isomo) - end_index = min(N_configuration,cfg_seniority_index(min(elec_num,Nsomo_alpha+4))-1) - end_index = N_configuration + end_index = min(N_configuration,cfg_seniority_index(Nsomo_alpha+4)-1) + if(end_index .LT. 0) end_index= N_configuration + !end_index = N_configuration p = 0 @@ -67,7 +68,9 @@ subroutine obtain_connected_I_foralpha(idxI, Ialpha, connectedI, idxs_connectedI !call debug_spindet(Jdomo,1) diffSOMO = IEOR(Isomo,Jsomo) ndiffSOMO = POPCNT(diffSOMO) - if(ndiffSOMO .NE. 2 .AND. ndiffSOMO .NE. 0) cycle + if(ndiffSOMO .NE. 2 .AND. ndiffSOMO .NE. 0) then + cycle + endif diffDOMO = IEOR(Idomo,Jdomo) xordiffSOMODOMO = IEOR(diffSOMO,diffDOMO) ndiffDOMO = POPCNT(diffDOMO) diff --git a/src/davidson/diagonalization_hcsf_dressed.irp.f b/src/davidson/diagonalization_hcsf_dressed.irp.f index 6de73916..77f21f2b 100644 --- a/src/davidson/diagonalization_hcsf_dressed.irp.f +++ b/src/davidson/diagonalization_hcsf_dressed.irp.f @@ -306,15 +306,15 @@ subroutine davidson_diag_csf_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N PROVIDE mo_two_e_integrals_in_map mo_integrals_map big_array_exchange_integrals if ((sze > 100000).and.distributed_davidson) then -! call convertWFfromCSFtoDET(N_st_diag,U_csf(1,shift+1),U) -! call convertWFfromCSFtoDET(N_st_diag,W_csf(1,shift+1),W) -! call H_u_0_nstates_zmq (W,U,N_st_diag,sze) -! call convertWFfromDETtoCSF(N_st_diag,U,U_csf(1,shift+1)) -! call convertWFfromDETtoCSF(N_st_diag,W,W_csf(1,shift+1)) + !call convertWFfromCSFtoDET(N_st_diag,U_csf(1,shift+1),U) + !call convertWFfromCSFtoDET(N_st_diag,W_csf(1,shift+1),W) + !call H_u_0_nstates_zmq (W,U,N_st_diag,sze) + !call convertWFfromDETtoCSF(N_st_diag,U,U_csf(1,shift+1)) + !call convertWFfromDETtoCSF(N_st_diag,W,W_csf(1,shift+1)) ! call calculate_sigma_vector_cfg_nst(W_csf(1,shift+1),U_csf(1,shift+1),N_st_diag,sze_csf,1,sze_csf,0,1) ! ! TODO : psi_det_size ? for psi_det do kk=1,N_st_diag - call calculate_sigma_vector_cfg_nst(W_csf(1,shift+kk),U_csf(1,shift+kk),1,sze_csf,1,sze_csf,0,1) + call calculate_sigma_vector_cfg_nst_naive_store(W_csf(1,shift+kk),U_csf(1,shift+kk),1,sze_csf,1,sze_csf,0,1) enddo else !call convertWFfromCSFtoDET(N_st_diag,U_csf(1,shift+1),U) @@ -324,7 +324,7 @@ subroutine davidson_diag_csf_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N !call convertWFfromDETtoCSF(N_st_diag,W,W_csf(1,shift+1)) ! call calculate_sigma_vector_cfg_nst(W_csf(1,shift+1),U_csf(1,shift+1),N_st_diag,sze_csf,1,sze_csf,0,1) do kk=1,N_st_diag - call calculate_sigma_vector_cfg_nst(W_csf(1,shift+kk),U_csf(1,shift+kk),1,sze_csf,1,sze_csf,0,1) + call calculate_sigma_vector_cfg_nst_naive_store(W_csf(1,shift+kk),U_csf(1,shift+kk),1,sze_csf,1,sze_csf,0,1) enddo endif else