diff --git a/plugins/Full_CI_ZMQ/fci_zmq.irp.f b/plugins/Full_CI_ZMQ/fci_zmq.irp.f index 64296ce3..964edf62 100644 --- a/plugins/Full_CI_ZMQ/fci_zmq.irp.f +++ b/plugins/Full_CI_ZMQ/fci_zmq.irp.f @@ -84,8 +84,8 @@ program fci_zmq if(do_pt2_end)then print*,'Last iteration only to compute the PT2' - threshold_selectors = 1.d0 - threshold_generators = 0.9999d0 + threshold_selectors = threshold_selectors_pt2 + threshold_generators = threshold_generators_pt2 TOUCH threshold_selectors threshold_generators E_CI_before(1:N_states) = CI_energy(1:N_states) call ZMQ_selection(0, pt2) diff --git a/src/Determinants/occ_pattern.irp.f b/src/Determinants/occ_pattern.irp.f index 8e802fd6..902b54db 100644 --- a/src/Determinants/occ_pattern.irp.f +++ b/src/Determinants/occ_pattern.irp.f @@ -76,27 +76,6 @@ subroutine occ_pattern_to_dets(o,d,sze,n_alpha,Nint) enddo enddo -! !TODO DEBUG -! integer :: j,s -! do i=1,nd -! do j=1,i-1 -! na=0 -! do k=1,Nint -! if((d(k,1,j) /= d(k,1,i)).or. & -! (d(k,2,j) /= d(k,2,i))) then -! s=1 -! exit -! endif -! enddo -! if ( j== 0 ) then -! print *, 'det ',i,' and ',j,' equal:' -! call debug_det(d(1,1,j),Nint) -! call debug_det(d(1,1,i),Nint) -! stop -! endif -! enddo -! enddo -! !TODO DEBUG end recursive subroutine rec_occ_pattern_to_dets(list_todo,nt,list_a,na,d,nd,sze,amax,Nint) diff --git a/src/Integrals_Bielec/map_integrals.irp.f b/src/Integrals_Bielec/map_integrals.irp.f index 53b45060..5f6df0bd 100644 --- a/src/Integrals_Bielec/map_integrals.irp.f +++ b/src/Integrals_Bielec/map_integrals.irp.f @@ -152,7 +152,7 @@ BEGIN_PROVIDER [ double precision, ao_integrals_cache, (0:64*64*64*64) ] END_PROVIDER -double precision function get_ao_bielec_integral(i,j,k,l,map) +double precision function get_ao_bielec_integral(i,j,k,l,map) result(result) use map_module implicit none BEGIN_DOC @@ -179,15 +179,16 @@ double precision function get_ao_bielec_integral(i,j,k,l,map) call bielec_integrals_index(i,j,k,l,idx) !DIR$ FORCEINLINE call map_get(map,idx,tmp) - get_ao_bielec_integral = dble(tmp) + tmp = tmp else ii = l-ao_integrals_cache_min ii = ior( ishft(ii,6), k-ao_integrals_cache_min) ii = ior( ishft(ii,6), j-ao_integrals_cache_min) ii = ior( ishft(ii,6), i-ao_integrals_cache_min) - get_ao_bielec_integral = ao_integrals_cache(ii) + tmp = ao_integrals_cache(ii) endif endif + result = tmp end @@ -676,6 +677,7 @@ integer function load_$ao_integrals(filename) real(integral_kind), pointer :: val(:) integer :: iknd, kknd integer*8 :: n, j + double precision :: get_$ao_bielec_integral load_$ao_integrals = 1 open(unit=66,file=filename,FORM='unformatted',STATUS='UNKNOWN') read(66,err=98,end=98) iknd, kknd