mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-09 20:48:47 +01:00
Fixed get_ao_bielec_integral
This commit is contained in:
parent
09ead73dc7
commit
a5a34a02f1
@ -84,8 +84,8 @@ program fci_zmq
|
|||||||
|
|
||||||
if(do_pt2_end)then
|
if(do_pt2_end)then
|
||||||
print*,'Last iteration only to compute the PT2'
|
print*,'Last iteration only to compute the PT2'
|
||||||
threshold_selectors = 1.d0
|
threshold_selectors = threshold_selectors_pt2
|
||||||
threshold_generators = 0.9999d0
|
threshold_generators = threshold_generators_pt2
|
||||||
TOUCH threshold_selectors threshold_generators
|
TOUCH threshold_selectors threshold_generators
|
||||||
E_CI_before(1:N_states) = CI_energy(1:N_states)
|
E_CI_before(1:N_states) = CI_energy(1:N_states)
|
||||||
call ZMQ_selection(0, pt2)
|
call ZMQ_selection(0, pt2)
|
||||||
|
@ -76,27 +76,6 @@ subroutine occ_pattern_to_dets(o,d,sze,n_alpha,Nint)
|
|||||||
enddo
|
enddo
|
||||||
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
|
end
|
||||||
|
|
||||||
recursive subroutine rec_occ_pattern_to_dets(list_todo,nt,list_a,na,d,nd,sze,amax,Nint)
|
recursive subroutine rec_occ_pattern_to_dets(list_todo,nt,list_a,na,d,nd,sze,amax,Nint)
|
||||||
|
@ -152,7 +152,7 @@ BEGIN_PROVIDER [ double precision, ao_integrals_cache, (0:64*64*64*64) ]
|
|||||||
END_PROVIDER
|
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
|
use map_module
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
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)
|
call bielec_integrals_index(i,j,k,l,idx)
|
||||||
!DIR$ FORCEINLINE
|
!DIR$ FORCEINLINE
|
||||||
call map_get(map,idx,tmp)
|
call map_get(map,idx,tmp)
|
||||||
get_ao_bielec_integral = dble(tmp)
|
tmp = tmp
|
||||||
else
|
else
|
||||||
ii = l-ao_integrals_cache_min
|
ii = l-ao_integrals_cache_min
|
||||||
ii = ior( ishft(ii,6), k-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), j-ao_integrals_cache_min)
|
||||||
ii = ior( ishft(ii,6), i-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
|
||||||
endif
|
endif
|
||||||
|
result = tmp
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -676,6 +677,7 @@ integer function load_$ao_integrals(filename)
|
|||||||
real(integral_kind), pointer :: val(:)
|
real(integral_kind), pointer :: val(:)
|
||||||
integer :: iknd, kknd
|
integer :: iknd, kknd
|
||||||
integer*8 :: n, j
|
integer*8 :: n, j
|
||||||
|
double precision :: get_$ao_bielec_integral
|
||||||
load_$ao_integrals = 1
|
load_$ao_integrals = 1
|
||||||
open(unit=66,file=filename,FORM='unformatted',STATUS='UNKNOWN')
|
open(unit=66,file=filename,FORM='unformatted',STATUS='UNKNOWN')
|
||||||
read(66,err=98,end=98) iknd, kknd
|
read(66,err=98,end=98) iknd, kknd
|
||||||
|
Loading…
Reference in New Issue
Block a user