diff --git a/src/davidson/davidson_parallel.irp.f b/src/davidson/davidson_parallel.irp.f index 59318cd6..32f89979 100644 --- a/src/davidson/davidson_parallel.irp.f +++ b/src/davidson/davidson_parallel.irp.f @@ -428,7 +428,7 @@ subroutine H_S2_u_0_nstates_zmq(v_0,s_0,u_0,N_st,sze) integer :: istep, imin, imax, ishift, ipos integer, external :: add_task_to_taskserver - integer, parameter :: tasksize=10000 + integer, parameter :: tasksize=20000 character*(100000) :: task istep=1 ishift=0 diff --git a/src/davidson/u0_h_u0.irp.f b/src/davidson/u0_h_u0.irp.f index f4c5638d..bc6acdb9 100644 --- a/src/davidson/u0_h_u0.irp.f +++ b/src/davidson/u0_h_u0.irp.f @@ -270,16 +270,19 @@ compute_singles=.True. ! Check if u has multiple zeros kk=1 ! Avoid division by zero + !$OMP DO do k=1,N_det umax = 0.d0 do l=1,N_st umax = max(umax, dabs(u_t(l,k))) enddo if (umax < 1.d-20) then + !$OMP ATOMIC kk = kk+1 endif enddo - u_is_sparse = N_det / kk < 10 + !$OMP END DO + u_is_sparse = N_det / kk < 20 ! 5% ASSERT (iend <= N_det) ASSERT (istart > 0) diff --git a/src/mo_two_e_ints/map_integrals.irp.f b/src/mo_two_e_ints/map_integrals.irp.f index 3d301725..8756ee47 100644 --- a/src/mo_two_e_ints/map_integrals.irp.f +++ b/src/mo_two_e_ints/map_integrals.irp.f @@ -308,10 +308,10 @@ end call map_get(mo_integrals_map,idx,tmp) banned_excitation(i,j) = dabs(tmp) < 1.d-14 banned_excitation(j,i) = banned_excitation(i,j) - if (banned_excitation(i,j)) icount = icount+1 + if (banned_excitation(i,j)) icount = icount+2 enddo enddo - use_banned_excitation = (mo_num*mo_num) / icount <= 10 + use_banned_excitation = (mo_num*mo_num) / icount <= 100 !1% if (use_banned_excitation) then print *, 'Using sparsity of exchange integrals' endif