2019-01-25 11:39:31 +01:00
|
|
|
subroutine print_extrapolated_energy
|
|
|
|
implicit none
|
|
|
|
BEGIN_DOC
|
|
|
|
! Print the extrapolated energy in the output
|
|
|
|
END_DOC
|
|
|
|
|
|
|
|
integer :: i,k
|
2023-04-24 00:50:07 +02:00
|
|
|
integer :: N_states_p, N_iter_p
|
2019-01-25 11:39:31 +01:00
|
|
|
|
|
|
|
if (N_iter< 2) then
|
|
|
|
return
|
|
|
|
endif
|
2023-04-24 00:50:07 +02:00
|
|
|
N_states_p = min(N_states,N_det)
|
|
|
|
N_iter_p = min(N_iter, 8)
|
|
|
|
|
2019-01-25 11:39:31 +01:00
|
|
|
write(*,'(A)') ''
|
|
|
|
write(*,'(A)') 'Extrapolated energies'
|
|
|
|
write(*,'(A)') '------------------------'
|
|
|
|
write(*,'(A)') ''
|
|
|
|
|
|
|
|
print *, ''
|
|
|
|
print *, 'State ', 1
|
|
|
|
print *, ''
|
|
|
|
write(*,*) '=========== ', '==================='
|
|
|
|
write(*,*) 'minimum PT2 ', 'Extrapolated energy'
|
|
|
|
write(*,*) '=========== ', '==================='
|
2023-04-24 00:50:07 +02:00
|
|
|
do k=2,N_iter_p
|
2023-05-10 12:22:56 +02:00
|
|
|
write(*,'(F11.4,2X,F18.8)') pt2_iterations(1,N_iter_p+1-k), extrapolated_energy(k,1)
|
2019-01-25 11:39:31 +01:00
|
|
|
enddo
|
|
|
|
write(*,*) '=========== ', '==================='
|
|
|
|
|
2023-04-24 00:50:07 +02:00
|
|
|
do i=2, N_states_p
|
2019-01-25 11:39:31 +01:00
|
|
|
print *, ''
|
|
|
|
print *, 'State ', i
|
|
|
|
print *, ''
|
|
|
|
write(*,*) '=========== ', '=================== ', '=================== ', '==================='
|
|
|
|
write(*,*) 'minimum PT2 ', 'Extrapolated energy ', ' Excitation (a.u) ', ' Excitation (eV) '
|
|
|
|
write(*,*) '=========== ', '=================== ', '=================== ', '==================='
|
2023-04-24 00:50:07 +02:00
|
|
|
do k=2,N_iter_p
|
2023-10-11 09:42:10 +02:00
|
|
|
write(*,'(F11.4,X,3(X,F18.8))') pt2_iterations(i,N_iter_p+1-k), extrapolated_energy(k,i), &
|
2019-01-25 11:39:31 +01:00
|
|
|
extrapolated_energy(k,i) - extrapolated_energy(k,1), &
|
|
|
|
(extrapolated_energy(k,i) - extrapolated_energy(k,1) ) * 27.211396641308d0
|
|
|
|
enddo
|
|
|
|
write(*,*) '=========== ', '=================== ', '=================== ', '==================='
|
|
|
|
enddo
|
|
|
|
|
|
|
|
print *, ''
|
|
|
|
|
|
|
|
end subroutine
|
|
|
|
|