9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-11-06 21:43:39 +01:00

print_energy.irp.f

This commit is contained in:
Anthony Scemama 2020-02-26 15:58:14 +01:00
parent 547fea1d58
commit 3cf55e2676
2 changed files with 56 additions and 22 deletions

View File

@ -0,0 +1,34 @@
program print_wf
implicit none
BEGIN_DOC
! Prints the energy of the wave function stored in the |EZFIO| directory.
END_DOC
! this has to be done in order to be sure that N_det, psi_det and
! psi_coef_sorted are the wave function stored in the |EZFIO| directory.
read_wf = .True.
touch read_wf
call run
end
subroutine run
implicit none
integer :: i
double precision :: i_H_psi_array(N_states)
double precision :: E(N_states)
double precision :: norm(N_states)
E(:) = nuclear_repulsion
norm(:) = 0.d0
do i=1,N_det
call i_H_psi(psi_det(1,1,i), psi_det, psi_coef, N_int, N_det, &
size(psi_coef,1), N_states, i_H_psi_array)
norm(:) += psi_coef(i,:)**2
E(:) += i_H_psi_array(:) * psi_coef(i,:)
enddo
print *, 'Energy:'
do i=1,N_states
print *, E(i)/norm(i)
enddo
end