Bug in max size of density matrix

This commit is contained in:
Anthony Scemama 2012-06-01 11:23:54 +02:00
parent 1fba725094
commit 32af225063
1 changed files with 4 additions and 4 deletions

View File

@ -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