diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index 72f18dd3..19e53dcc 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -653,8 +653,8 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d logical, external :: detEq double precision, allocatable :: values(:) - integer, allocatable :: keys(:,;) - integer, :: nkeys + integer, allocatable :: keys(:,:) + integer :: nkeys if(sp == 3) then @@ -795,11 +795,11 @@ subroutine fill_buffer_double_rdm(i_generator, sp, h1, h2, bannedOrb, banned, fo logical, external :: detEq double precision, allocatable :: values(:) - integer, allocatable :: keys(:,;) - integer, :: nkeys - integer :: sze_buffer - sze_buffer = 5 * mo_num ** 2 - allocate(keys(4,sze_buffer),values(sze_buffer)) + integer, allocatable :: keys(:,:) + integer :: nkeys + integer :: sze_buff + sze_buff = 5 * mo_num ** 2 + allocate(keys(4,sze_buff),values(sze_buff)) nkeys = 0 if(sp == 3) then s1 = 1 @@ -889,7 +889,7 @@ subroutine fill_buffer_double_rdm(i_generator, sp, h1, h2, bannedOrb, banned, fo coef(istate) = e_pert / alpha_h_psi pt2(istate) = pt2(istate) + e_pert variance(istate) = variance(istate) + alpha_h_psi * alpha_h_psi - norm(istate) = norm(istate) + coef * coef + norm(istate) = norm(istate) + coef(istate) * coef(istate) if (weight_selection /= 5) then ! Energy selection diff --git a/src/cipsi/update_2rdm.irp.f b/src/cipsi/update_2rdm.irp.f index 7595204f..07a746d4 100644 --- a/src/cipsi/update_2rdm.irp.f +++ b/src/cipsi/update_2rdm.irp.f @@ -2,11 +2,12 @@ use bitmasks subroutine give_2rdm_pert_contrib(det,coef,psi_det_connection,psi_coef_connection,n_det_connection,nkeys,keys,values,sze_buff) implicit none - integer, intent(in) :: n_det_connection,nkeys,sze_buff + integer, intent(in) :: n_det_connection,nkeys double precision, intent(in) :: coef(N_states) integer(bit_kind), intent(in) :: det(N_int,2) integer(bit_kind), intent(in) :: psi_det_connection(N_int,2,n_det_connection) - integer, intent(in) :: keys(4,sze_buff) - double precision, intent(in) :: values(sze_buff) + double precision, intent(in) :: psi_coef_connection(n_det_connection, N_states) + integer, intent(inout) :: keys(4,sze_buff),sze_buff + double precision, intent(inout) :: values(sze_buff) end