From c8f7f7b037d32079fcd92d9138e9b1e42c7f44b8 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Fri, 10 Jul 2020 14:07:53 -0500 Subject: [PATCH] complex print_hamiltonian --- src/tools/print_hamiltonian.irp.f | 45 ++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/src/tools/print_hamiltonian.irp.f b/src/tools/print_hamiltonian.irp.f index 207161dd..183fd502 100644 --- a/src/tools/print_hamiltonian.irp.f +++ b/src/tools/print_hamiltonian.irp.f @@ -9,7 +9,11 @@ program print_hamiltonian ! psi_coef_sorted are the wave function stored in the |EZFIO| directory. read_wf = .True. touch read_wf - call run + if (is_complex) then + call run_complex + else + call run + endif end subroutine run @@ -27,3 +31,42 @@ subroutine run enddo end + +subroutine run_complex + implicit none + integer :: i, j + complex*16 :: hij + double precision :: s2 + + print*,'i,j,Hij' + do j=1,N_det + do i=1,N_det + call i_h_j_complex(psi_det(1,1,i), psi_det(1,1,j), N_int, hij) + if (cdabs(hij) > 1.d-20) then + print *, i, j, dble(hij), dimag(hij) + endif + enddo + enddo + print*,'i,j,S2ij' + do j=1,N_det + do i=1,N_det + call get_s2(psi_det(1,1,i), psi_det(1,1,j), N_int, s2) + if (dabs(s2) > 1.d-20) then + print *, i, j, s2 + endif + enddo + enddo +! use bitmasks + integer :: degree + + print*,'i,j,degij' + do j=1,N_det + do i=1,N_det + call get_excitation_degree(psi_det(1,1,i), psi_det(1,1,j), degree, N_int) + if (degree.le.2) then + print *, i, j, degree + endif + enddo + enddo + +end