10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-07-23 03:07:34 +02:00

Merge branch 'master' into develop

This commit is contained in:
Anthony Scemama 2016-06-13 10:29:49 +02:00
commit 20ad57e8c6
2 changed files with 8 additions and 5 deletions

View File

@ -248,13 +248,13 @@ class H_apply(object):
""" """
self.data["deinit_thread"] = """ self.data["deinit_thread"] = """
!$OMP CRITICAL ! OMP CRITICAL
do k=1,N_st do k=1,N_st
sum_e_2_pert_in(k) = sum_e_2_pert_in(k) + sum_e_2_pert(k) sum_e_2_pert_in(k) = sum_e_2_pert_in(k) + sum_e_2_pert(k)
sum_norm_pert_in(k) = sum_norm_pert_in(k) + sum_norm_pert(k) sum_norm_pert_in(k) = sum_norm_pert_in(k) + sum_norm_pert(k)
sum_H_pert_diag_in(k) = sum_H_pert_diag_in(k) + sum_H_pert_diag(k) sum_H_pert_diag_in(k) = sum_H_pert_diag_in(k) + sum_H_pert_diag(k)
enddo enddo
!$OMP END CRITICAL ! OMP END CRITICAL
deallocate (e_2_pert_buffer, coef_pert_buffer) deallocate (e_2_pert_buffer, coef_pert_buffer)
""" """
self.data["size_max"] = "8192" self.data["size_max"] = "8192"
@ -356,12 +356,12 @@ class H_apply(object):
self.data["skip"] = """ self.data["skip"] = """
if (i_generator < size_select_max) then if (i_generator < size_select_max) then
if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then
!$OMP CRITICAL ! OMP CRITICAL
do k=1,N_st do k=1,N_st
norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k) norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k)
pt2_old(k) = 0.d0 pt2_old(k) = 0.d0
enddo enddo
!$OMP END CRITICAL ! OMP END CRITICAL
cycle cycle
endif endif
select_max(i_generator) = 0.d0 select_max(i_generator) = 0.d0

View File

@ -904,12 +904,13 @@ subroutine create_minilist_find_previous(key_mask, fullList, miniList, N_fullLis
integer, intent(in) :: Nint integer, intent(in) :: Nint
integer(bit_kind), intent(in) :: fullList(Nint, 2, N_fullList) integer(bit_kind), intent(in) :: fullList(Nint, 2, N_fullList)
integer(bit_kind),intent(out) :: miniList(Nint, 2, N_fullList) integer(bit_kind),intent(out) :: miniList(Nint, 2, N_fullList)
integer(bit_kind) :: subList(Nint, 2, N_fullList) integer(bit_kind), allocatable :: subList(:,:,:)
logical,intent(out) :: fullMatch logical,intent(out) :: fullMatch
integer,intent(out) :: N_miniList integer,intent(out) :: N_miniList
integer(bit_kind) :: key_mask(Nint, 2) integer(bit_kind) :: key_mask(Nint, 2)
integer :: ni, i, k, l, N_subList integer :: ni, i, k, l, N_subList
allocate (subList(Nint, 2, N_fullList))
fullMatch = .false. fullMatch = .false.
N_miniList = 0 N_miniList = 0
@ -962,6 +963,8 @@ subroutine create_minilist_find_previous(key_mask, fullList, miniList, N_fullLis
enddo enddo
N_minilist = N_minilist + N_subList N_minilist = N_minilist + N_subList
end if end if
deallocate(sublist)
end subroutine end subroutine