Skip to content

Commit

Permalink
Merge pull request #15 from QuantumPackage/dev-stable-tc-scf
Browse files Browse the repository at this point in the history
Fix extrapolated energy
  • Loading branch information
AbdAmmar committed May 11, 2023
2 parents 367e1a2 + 2c1812e commit 818f985
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 23 deletions.
2 changes: 2 additions & 0 deletions src/dft_utils_in_r/dm_in_r_routines.irp.f
Expand Up @@ -140,6 +140,8 @@ subroutine density_and_grad_alpha_beta(r,dm_a,dm_b, grad_dm_a, grad_dm_b)
enddo
enddo

! TODO : build the vector of chi_i(r) chi_j(r) and conscequently grad_i(r) grad_j(r)
! : the same for gamma_ij and big dot product
do istate = 1, N_states
! alpha density
! aos_array_bis = \rho_ao * aos_array
Expand Down
5 changes: 4 additions & 1 deletion src/fci_tc_bi/diagonalize_ci.irp.f
Expand Up @@ -39,6 +39,9 @@ subroutine diagonalize_CI_tc_bi_ortho(ndet, E_tc,norm,pt2_data,print_pt2)
write(*,'(A28,X,I10,X,100(F16.8,X))')'Ndet,E,E+PT2,E+RPT2,|PT2|=',ndet,E_tc ,E_tc + pt2_tmp/norm,E_tc + rpt2_tmp/norm,abs_pt2
print*,'*****'
endif
psi_energy(1:N_states) = eigval_right_tc_bi_orth(1:N_states)
psi_s2(1:N_states) = s2_eigvec_tc_bi_orth(1:N_states)

E_tc = eigval_right_tc_bi_orth(1)
norm = norm_ground_left_right_bi_orth
ndet = N_det
Expand All @@ -50,7 +53,7 @@ subroutine diagonalize_CI_tc_bi_ortho(ndet, E_tc,norm,pt2_data,print_pt2)
enddo
enddo
SOFT_TOUCH eigval_left_tc_bi_orth eigval_right_tc_bi_orth leigvec_tc_bi_orth reigvec_tc_bi_orth norm_ground_left_right_bi_orth
SOFT_TOUCH psi_l_coef_bi_ortho psi_r_coef_bi_ortho psi_coef
SOFT_TOUCH psi_l_coef_bi_ortho psi_r_coef_bi_ortho psi_coef psi_energy psi_s2

call save_tc_bi_ortho_wavefunction
end
Expand Down
22 changes: 0 additions & 22 deletions src/tc_bi_ortho/tc_h_eigvectors.irp.f
Expand Up @@ -233,8 +233,6 @@ subroutine diagonalize_CI_tc
do istate = N_states+1, n_states_diag
vec_tmp(istate,istate) = 1.d0
enddo
!call davidson_general_ext_rout_nonsym_b1space(vec_tmp, H_jj, eigval_left_tc_bi_orth, N_det, n_states, n_states_diag, converged, htcdag_bi_ortho_calc_tdav)
!call davidson_general_ext_rout_nonsym_b1space(vec_tmp, H_jj, eigval_left_tc_bi_orth, N_det, n_states, n_states_diag, converged, H_tc_dagger_u_0_opt)
integer :: n_it_max,i_it
n_it_max = 1
converged = .False.
Expand Down Expand Up @@ -300,26 +298,6 @@ subroutine diagonalize_CI_tc
print*,' <S2> = ', s2_eigvec_tc_bi_orth(i)
enddo

double precision, allocatable :: buffer(:,:)
allocate(buffer(N_det,N_states))
do k = 1, N_states
do i = 1, N_det
psi_l_coef_bi_ortho(i,k) = leigvec_tc_bi_orth(i,k)
buffer(i,k) = leigvec_tc_bi_orth(i,k)
enddo
enddo
TOUCH psi_l_coef_bi_ortho
call ezfio_set_tc_bi_ortho_psi_l_coef_bi_ortho(buffer)
do k = 1, N_states
do i = 1, N_det
psi_r_coef_bi_ortho(i,k) = reigvec_tc_bi_orth(i,k)
buffer(i,k) = reigvec_tc_bi_orth(i,k)
enddo
enddo
TOUCH psi_r_coef_bi_ortho
call ezfio_set_tc_bi_ortho_psi_r_coef_bi_ortho(buffer)
deallocate(buffer)

END_PROVIDER


Expand Down

0 comments on commit 818f985

Please sign in to comment.