From 2ac2853f5c410b7581b82054348ca768f2e3c0c4 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 Sep 2017 15:17:45 +0200 Subject: [PATCH] Four index --- plugins/FourIdx/four_idx.irp.f | 5 +++++ plugins/FourIdx/four_index.irp.f | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/plugins/FourIdx/four_idx.irp.f b/plugins/FourIdx/four_idx.irp.f index de5927bf..f3388b83 100644 --- a/plugins/FourIdx/four_idx.irp.f +++ b/plugins/FourIdx/four_idx.irp.f @@ -18,6 +18,11 @@ program FourIdx 1, 1, 1, 1, ao_num, ao_num, ao_num, ao_num, & 1, 1, 1, 1, mo_tot_num, mo_tot_num, mo_tot_num, mo_tot_num) +! call four_index_transform(ao_integrals_map,test_map, & +! mo_coef, size(mo_coef,1), & +! 1, 1, 1, 1, ao_num, ao_num, ao_num, ao_num, & +! 1, 1, 1, 1, mo_tot_num, mo_tot_num, mo_tot_num, mo_tot_num) + integer :: i,j,k,l real(integral_kind) :: integral1, integral2 diff --git a/plugins/FourIdx/four_index.irp.f b/plugins/FourIdx/four_index.irp.f index 01197eae..261b7d12 100644 --- a/plugins/FourIdx/four_index.irp.f +++ b/plugins/FourIdx/four_index.irp.f @@ -100,6 +100,7 @@ subroutine four_index_transform(map_a,map_c,matrix_B,LDB, & deallocate(T) allocate( T(a_start:a_end, k_start:k_end, b_start:d) ) + ! a=a_start,b call DGEMM('N','N', (a_end-a_start+1)*(k_end-k_start+1), & (d-b_start+1), & (j_end-j_start+1), 1.d0, & @@ -122,9 +123,12 @@ subroutine four_index_transform(map_a,map_c,matrix_B,LDB, & enddo idx = 0_8 - do b=b_start,d + do b=b_start,b_end do c=c_start,c_end - do a=a_start,min(b,c) + do a=a_start,a_end +! if (a>b) cycle +! if (a>c) cycle +! if (b>d) cycle if (dabs(U(a,c,b)) < 1.d-15) then cycle endif @@ -137,7 +141,8 @@ subroutine four_index_transform(map_a,map_c,matrix_B,LDB, & !$OMP CRITICAL call map_append(map_c, key, value, idx) call map_sort(map_c) - call map_unique(map_c) +! call map_update(map_c, key, value, idx) +! call map_merge(map_c) !$OMP END CRITICAL enddo