From 32af2250635197e9d8c7a4ef8b0cef65cfc91e15 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 1 Jun 2012 11:23:54 +0200 Subject: [PATCH] Bug in max size of density matrix --- src/det.irp.f | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/det.irp.f b/src/det.irp.f index d1044f5..e9ed451 100644 --- a/src/det.irp.f +++ b/src/det.irp.f @@ -205,6 +205,7 @@ BEGIN_PROVIDER [ integer, two_e_density_num_max ] ! Number of factors containing the Slater rules END_DOC + two_e_density_num_max = 0 call get_density_matrix_two_num(two_e_density_num_max) if (two_e_density_num_max /= 0) then @@ -213,7 +214,7 @@ BEGIN_PROVIDER [ integer, two_e_density_num_max ] two_e_density_num_max = 2*mo_num integer :: k,l - integer :: exc(3), nact, p, p2 + integer :: exc(3), nact, p integer :: det_exc do k=1,det_num if (abs(det_coef(k) < 1.e-5)) then @@ -228,12 +229,11 @@ BEGIN_PROVIDER [ integer, two_e_density_num_max ] exc(3) = exc(1)+exc(2) do p=1,2 - p2 = 1+mod(p,2) nact = elec_num_2(p) -mo_closed_num if ( exc(3) == 0 ) then - two_e_density_num_max += 2*mo_num + two_e_density_num_max += nact*(mo_closed_num*4+nact*3) else if ( (exc(3) == 1).and.(exc(p) == 1) ) then - two_e_density_num_max += 2*mo_num + two_e_density_num_max += mo_closed_num*4+nact*3 else if ( (exc(3) == 2).and.(exc(p) == 2) ) then two_e_density_num_max += 2 else if ( (exc(3) == 2).and.(exc(p) == 1) ) then