mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-31 05:03:40 +02:00
62 lines
1.9 KiB
Fortran
62 lines
1.9 KiB
Fortran
program tc_bi_ortho
|
|
implicit none
|
|
BEGIN_DOC
|
|
! TODO : Reads psi_det in the EZFIO folder and prints out the left- and right-eigenvectors together with the energy. Saves the left-right wave functions at the end.
|
|
END_DOC
|
|
print *, 'Hello world'
|
|
my_grid_becke = .True.
|
|
my_n_pt_r_grid = 30
|
|
my_n_pt_a_grid = 50
|
|
read_wf = .True.
|
|
touch read_wf
|
|
touch my_grid_becke my_n_pt_r_grid my_n_pt_a_grid
|
|
call routine_diag
|
|
! call test
|
|
end
|
|
|
|
subroutine test
|
|
implicit none
|
|
integer :: i,j
|
|
double precision :: hmono,htwoe,hthree,htot
|
|
use bitmasks
|
|
|
|
print*,'test'
|
|
! call htilde_mu_mat_bi_ortho(psi_det(1,1,1), psi_det(1,1,2), N_int, hmono, htwoe, hthree, htot)
|
|
call double_htilde_mu_mat_bi_ortho(N_int,psi_det(1,1,1), psi_det(1,1,2), hmono, htwoe, htot)
|
|
print*,hmono, htwoe, htot
|
|
|
|
end
|
|
|
|
subroutine routine_diag
|
|
implicit none
|
|
! provide eigval_right_tc_bi_orth
|
|
provide overlap_bi_ortho
|
|
! provide htilde_matrix_elmt_bi_ortho
|
|
integer ::i,j
|
|
print*,'eigval_right_tc_bi_orth = ',eigval_right_tc_bi_orth(1)
|
|
print*,'e_tc_left_right = ',e_tc_left_right
|
|
print*,'e_tilde_bi_orth_00 = ',e_tilde_bi_orth_00
|
|
print*,'e_pt2_tc_bi_orth = ',e_pt2_tc_bi_orth
|
|
print*,'e_pt2_tc_bi_orth_single = ',e_pt2_tc_bi_orth_single
|
|
print*,'e_pt2_tc_bi_orth_double = ',e_pt2_tc_bi_orth_double
|
|
print*,'***'
|
|
print*,'e_corr_bi_orth = ',e_corr_bi_orth
|
|
print*,'e_corr_bi_orth_proj = ',e_corr_bi_orth_proj
|
|
print*,'e_corr_single_bi_orth = ',e_corr_single_bi_orth
|
|
print*,'e_corr_double_bi_orth = ',e_corr_double_bi_orth
|
|
print*,'Left/right eigenvectors'
|
|
do i = 1,N_det
|
|
write(*,'(I5,X,(100(F12.7,X)))')i,leigvec_tc_bi_orth(i,1),reigvec_tc_bi_orth(i,1)
|
|
enddo
|
|
do j=1,N_states
|
|
do i=1,N_det
|
|
psi_l_coef_bi_ortho(i,j) = leigvec_tc_bi_orth(i,j)
|
|
psi_r_coef_bi_ortho(i,j) = reigvec_tc_bi_orth(i,j)
|
|
enddo
|
|
enddo
|
|
SOFT_TOUCH psi_l_coef_bi_ortho psi_r_coef_bi_ortho
|
|
call save_tc_bi_ortho_wavefunction
|
|
! call routine_save_left_right_bi_ortho
|
|
end
|
|
|