diff --git a/src/ao_two_e_ints/cholesky.irp.f b/src/ao_two_e_ints/cholesky.irp.f index 18180efb..98652d8f 100644 --- a/src/ao_two_e_ints/cholesky.irp.f +++ b/src/ao_two_e_ints/cholesky.irp.f @@ -29,7 +29,7 @@ BEGIN_PROVIDER [ integer, cholesky_ao_num ] double precision, pointer :: L(:,:), L_old(:,:) - double precision, parameter :: s = 1.d-2 + double precision, parameter :: s = 3.d-2 double precision, parameter :: dscale = 1.d0 double precision, allocatable :: D(:), Delta(:,:), Ltmp_p(:,:), Ltmp_q(:,:) @@ -135,7 +135,7 @@ BEGIN_PROVIDER [ integer, cholesky_ao_num ] L_old => L allocate(L(ndim,rank+nq), stat=ierr) if (ierr /= 0) then - print *, irp_here, ': allocation failed : (Delta(np,nq))' + print *, irp_here, ': allocation failed : (L(ndim,rank+nq))' stop -1 endif diff --git a/src/ccsd/ccsd_space_orb_sub.irp.f b/src/ccsd/ccsd_space_orb_sub.irp.f index 3c9a2cfc..1d77180e 100644 --- a/src/ccsd/ccsd_space_orb_sub.irp.f +++ b/src/ccsd/ccsd_space_orb_sub.irp.f @@ -1549,12 +1549,26 @@ subroutine compute_B1_gam(nO,nV,t1,t2,B1,gam) double precision, allocatable :: X_vvvo(:,:,:), Y_vvvv(:,:,:) allocate(X_vvvo(nV,nV,nO), Y_vvvv(nV,nV,nV)) ! ! B1(a,b,beta,gam) = cc_space_v_vvvv(a,b,beta,gam) - call gen_v_space(cc_nVa,cc_nVa,cc_nVa,1, cc_list_vir,cc_list_vir,cc_list_vir,(/ gam /), B1) + + call gen_v_space(cc_nVa,cc_nVa,cc_nVa,1, & + cc_list_vir,cc_list_vir,cc_list_vir,(/ cc_list_vir(gam) /), B1) + !$omp parallel & !$omp shared(nO,nV,B1,cc_space_v_vvvv,cc_space_v_vvov,X_vvvo,gam) & !$omp private(a,b,beta) & !$omp default(none) + +! !$omp do +! do beta = 1, nV +! do b = 1, nV +! do a = 1, nV +! B1(a,b,beta) = cc_space_v_vvvv(a,b,beta,gam) +! enddo +! enddo +! enddo +! !$omp end do nowait + do i = 1, nO !$omp do do b = 1, nV diff --git a/src/utils_cc/mo_integrals_cc.irp.f b/src/utils_cc/mo_integrals_cc.irp.f index 2e7ecdd4..2db614b4 100644 --- a/src/utils_cc/mo_integrals_cc.irp.f +++ b/src/utils_cc/mo_integrals_cc.irp.f @@ -99,36 +99,6 @@ subroutine gen_v_space(n1,n2,n3,n4,list1,list2,list3,list4,v) enddo !$OMP END PARALLEL DO -! !$OMP PARALLEL & -! !$OMP SHARED(n1,n2,n3,n4,list1,list2,list3,list4,v,cholesky_mo_transp,cholesky_ao_num,v1) & -! !$OMP PRIVATE(i1,i2,i3,i4,idx1,idx2,idx3,idx4,k,buffer,v2)& -! !$OMP DEFAULT(NONE) -! allocate(buffer(n1,n3,n2), v2(cholesky_ao_num,n2)) -! !$OMP DO -! do i4 = 1, n4 -! idx4 = list4(i4) -! do i2=1,n2 -! idx2 = list2(i2) -! do k=1,cholesky_ao_num -! v2(k,i2) = cholesky_mo_transp(k,idx2,idx4) -! enddo -! enddo -! call dgemm('T','N', n1*n3, n2, cholesky_ao_num, 1.d0, & -! v1, cholesky_ao_num, & -! v2, cholesky_ao_num, 0.d0, buffer, n1*n3) -! do i3 = 1, n3 -! do i2 = 1, n2 -! do i1 = 1, n1 -! v(i1,i2,i3,i4) = buffer(i1,i3,i2) -! enddo -! enddo -! enddo -! enddo -! !$OMP END DO -! deallocate(buffer, v2) -! !$OMP END PARALLEL -! deallocate(v1) - else double precision :: get_two_e_integral