9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 19:43:32 +01:00

separate allocation calls for debugging

This commit is contained in:
Kevin Gasperich 2020-05-07 17:25:08 -05:00
parent 4e199be01a
commit e2802ea5b9

View File

@ -879,10 +879,11 @@ subroutine davidson_diag_hjj_sjj_complex(dets_in,u_in,H_jj,s2_out,energies,dim_i
itertot = 0 itertot = 0
if (state_following) then if (state_following) then
allocate(overlap(N_st_diag*itermax, N_st_diag*itermax), & allocate(overlap(N_st_diag*itermax, N_st_diag*itermax))
y_tmp(N_st_diag*itermax, N_st_diag*itermax)) allocate(y_tmp(N_st_diag*itermax, N_st_diag*itermax))
else else
allocate(overlap(1,1),y_tmp(1,1)) ! avoid 'if' for deallocate allocate(overlap(1,1))
allocate(y_tmp(1,1)) ! avoid 'if' for deallocate
endif endif
overlap = 0.d0 overlap = 0.d0
y_tmp = (0.d0,0.d0) y_tmp = (0.d0,0.d0)
@ -1002,24 +1003,37 @@ subroutine davidson_diag_hjj_sjj_complex(dets_in,u_in,H_jj,s2_out,energies,dim_i
call c_f_pointer(ptr_w, w, (/sze,N_st_diag*itermax/)) call c_f_pointer(ptr_w, w, (/sze,N_st_diag*itermax/))
call c_f_pointer(ptr_s, s, (/sze,N_st_diag*itermax/)) call c_f_pointer(ptr_s, s, (/sze,N_st_diag*itermax/))
else else
allocate(W(sze,N_st_diag*itermax), S(sze,N_st_diag*itermax)) !allocate(W(sze,N_st_diag*itermax), S(sze,N_st_diag*itermax))
allocate(W(sze,N_st_diag*itermax))
allocate(S(sze,N_st_diag*itermax))
endif endif
allocate( & !allocate( &
! Large ! ! Large
U(sze,N_st_diag*itermax), & ! U(sze,N_st_diag*itermax), &
S_d(sze,N_st_diag), & ! S_d(sze,N_st_diag), &
! Small ! ! Small
h(N_st_diag*itermax,N_st_diag*itermax), & ! h(N_st_diag*itermax,N_st_diag*itermax), &
h_p(N_st_diag*itermax,N_st_diag*itermax), & ! h_p(N_st_diag*itermax,N_st_diag*itermax), &
y(N_st_diag*itermax,N_st_diag*itermax), & ! y(N_st_diag*itermax,N_st_diag*itermax), &
s_(N_st_diag*itermax,N_st_diag*itermax), & ! s_(N_st_diag*itermax,N_st_diag*itermax), &
s_tmp(N_st_diag*itermax,N_st_diag*itermax), & ! s_tmp(N_st_diag*itermax,N_st_diag*itermax), &
residual_norm(N_st_diag), & ! residual_norm(N_st_diag), &
s2(N_st_diag*itermax), & ! s2(N_st_diag*itermax), &
y_s(N_st_diag*itermax,N_st_diag*itermax), & ! y_s(N_st_diag*itermax,N_st_diag*itermax), &
lambda(N_st_diag*itermax)) ! lambda(N_st_diag*itermax))
allocate(U(sze,N_st_diag*itermax))
allocate(S_d(sze,N_st_diag))
allocate(h(N_st_diag*itermax,N_st_diag*itermax))
allocate(h_p(N_st_diag*itermax,N_st_diag*itermax))
allocate(y(N_st_diag*itermax,N_st_diag*itermax))
allocate(s_(N_st_diag*itermax,N_st_diag*itermax))
allocate(s_tmp(N_st_diag*itermax,N_st_diag*itermax))
allocate(residual_norm(N_st_diag))
allocate(s2(N_st_diag*itermax))
allocate(y_s(N_st_diag*itermax,N_st_diag*itermax))
allocate(lambda(N_st_diag*itermax))
h = (0.d0,0.d0) h = (0.d0,0.d0)
U = (0.d0,0.d0) U = (0.d0,0.d0)