10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-06-29 16:34:50 +02:00

Removed s2_eig -> Bug

This commit is contained in:
Anthony Scemama 2016-11-04 23:44:14 +01:00
parent 4cd2976678
commit af2780860e
3 changed files with 10 additions and 7 deletions

View File

@ -422,7 +422,7 @@ class H_apply(object):
if (s2_eig) then if (s2_eig) then
call make_s2_eigenfunction call make_s2_eigenfunction
endif endif
! SOFT_TOUCH psi_det psi_coef N_det SOFT_TOUCH psi_det psi_coef N_det
selection_criterion_min = min(selection_criterion_min, maxval(select_max))*0.1d0 selection_criterion_min = min(selection_criterion_min, maxval(select_max))*0.1d0
selection_criterion = selection_criterion_min selection_criterion = selection_criterion_min
call write_double(output_determinants,selection_criterion,'Selection criterion') call write_double(output_determinants,selection_criterion,'Selection criterion')

View File

@ -248,7 +248,6 @@ subroutine remove_duplicates_in_psi_det(found_duplicates)
enddo enddo
if (found_duplicates) then if (found_duplicates) then
call write_bool(output_determinants,found_duplicates,'Found duplicate determinants')
k=0 k=0
do i=1,N_det do i=1,N_det
if (.not.duplicate(i)) then if (.not.duplicate(i)) then
@ -258,7 +257,8 @@ subroutine remove_duplicates_in_psi_det(found_duplicates)
endif endif
enddo enddo
N_det = k N_det = k
TOUCH N_det psi_det psi_coef call write_bool(output_determinants,found_duplicates,'Found duplicate determinants')
SOFT_TOUCH N_det psi_det psi_coef
endif endif
deallocate (duplicate,bit_tmp) deallocate (duplicate,bit_tmp)
end end

View File

@ -213,10 +213,13 @@ subroutine make_s2_eigenfunction
integer :: i,j,k integer :: i,j,k
integer :: smax, s integer :: smax, s
integer(bit_kind), allocatable :: d(:,:,:), det_buffer(:,:,:) integer(bit_kind), allocatable :: d(:,:,:), det_buffer(:,:,:)
integer :: N_det_new, iproc integer :: N_det_new
integer, parameter :: bufsze = 1000 integer, parameter :: bufsze = 1000
logical, external :: is_in_wavefunction logical, external :: is_in_wavefunction
return
stop 'make_s2_eigenfunction has a bug. It should not be used!!!'
allocate (d(N_int,2,1), det_buffer(N_int,2,bufsze) ) allocate (d(N_int,2,1), det_buffer(N_int,2,bufsze) )
smax = 1 smax = 1
N_det_new = 0 N_det_new = 0
@ -248,13 +251,13 @@ subroutine make_s2_eigenfunction
if (N_det_new > 0) then if (N_det_new > 0) then
call fill_H_apply_buffer_no_selection(N_det_new,det_buffer,N_int,0) call fill_H_apply_buffer_no_selection(N_det_new,det_buffer,N_int,0)
! call fill_H_apply_buffer_no_selection_first_order_coef(N_det_new,det_buffer,N_int,0) ! call fill_H_apply_buffer_no_selection_first_order_coef(N_det_new,det_buffer,N_int,0)
call copy_H_apply_buffer_to_wf
SOFT_TOUCH N_det psi_coef psi_det
endif endif
deallocate(d,det_buffer) deallocate(d,det_buffer)
call write_int(output_determinants,N_det_new, 'Added determinants for S^2') call copy_H_apply_buffer_to_wf
SOFT_TOUCH N_det psi_coef psi_det
print *, 'Added determinants for S^2'
end end