diff --git a/plugins/MRCC_Utils/mrcc_dress.irp.f b/plugins/MRCC_Utils/mrcc_dress.irp.f index 412c52e2..e6d0fb81 100644 --- a/plugins/MRCC_Utils/mrcc_dress.irp.f +++ b/plugins/MRCC_Utils/mrcc_dress.irp.f @@ -53,7 +53,6 @@ subroutine mrcc_dress(delta_ij_, delta_ii_, Nstates, Ndet_non_ref, Ndet_ref,i_ge integer :: mobiles(2), smallerlist logical, external :: is_generable - print *, i_generator leng = max(N_det_generators, N_det_non_ref) allocate(miniList(Nint, 2, leng), idx_minilist(leng), hij_cache(N_det_non_ref)) diff --git a/src/Integrals_Monoelec/pseudopot.f90 b/src/Integrals_Monoelec/pseudopot.f90 index 12f0192e..d77b3ca0 100644 --- a/src/Integrals_Monoelec/pseudopot.f90 +++ b/src/Integrals_Monoelec/pseudopot.f90 @@ -282,8 +282,7 @@ if(ac.eq.0.d0.and.bc.eq.0.d0)then if (prod == 0.d0) cycle prodp=bigI(0,0,l,m,n_b(1),n_b(2),n_b(3)) if (prodp == 0.d0) cycle - accu=accu+prod*prodp*v_kl(k,l)*int_prod_bessel(ktot+2,g_a+g_b+dz_kl(k,l),0,0,areal,breal,arg) - + accu=accu+prod*prodp*v_kl(k,l)*int_prod_bessel(ktot+2,g_a+g_b+dz_kl(k,l),0,0,areal,breal,arg) enddo enddo enddo @@ -1829,13 +1828,15 @@ end double precision function coef_nk(n,k) implicit none - integer n,k, ISHFT + integer n,k double precision gam,dble_fact,fact + if (k<0) stop 'pseudopot.f90 : coef_nk' + if (k>63) stop 'pseudopot.f90 : coef_nk' gam=dble_fact(n+n+k+k+1) ! coef_nk=1.d0/(2.d0**k*fact(k)*gam) - coef_nk=1.d0/(dble(ibset(0,k))*fact(k)*gam) + coef_nk=1.d0/(dble(ibset(0_8,k))*fact(k)*gam) return diff --git a/src/Utils/util.irp.f b/src/Utils/util.irp.f index 8d375ac6..4001e9df 100644 --- a/src/Utils/util.irp.f +++ b/src/Utils/util.irp.f @@ -156,12 +156,19 @@ double precision function dble_fact_even(n) result(fact2) ! n!! END_DOC integer :: n,k - double precision, save :: memo(1:100) - integer, save :: memomax = 2 + double precision, save :: memo(0:100) + integer, save :: memomax = 0 double precision :: prod ASSERT (iand(n,1) /= 1) +! prod=1.d0 +! do k=2,n,2 +! prod=prod*dfloat(k) +! enddo +! fact2=prod +! return +! if (n <= memomax) then if (n < 2) then fact2 = 1.d0 @@ -172,6 +179,7 @@ double precision function dble_fact_even(n) result(fact2) endif integer :: i + memo(0)=1.d0 memo(1)=1.d0 do i=memomax+2,min(n,100),2 memo(i) = memo(i-2)* dble(i)