2016-08-24 16:43:01 +02:00
|
|
|
program MRPT_Utils
|
|
|
|
implicit none
|
|
|
|
read_wf = .True.
|
|
|
|
touch read_wf
|
|
|
|
! call routine
|
|
|
|
! call routine_2
|
|
|
|
call routine_3
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
subroutine routine_3
|
|
|
|
implicit none
|
2016-08-26 18:00:49 +02:00
|
|
|
!provide fock_virt_total_spin_trace
|
2016-08-30 14:10:52 +02:00
|
|
|
provide delta_ij
|
|
|
|
|
|
|
|
print *, 'N_det = ', N_det
|
|
|
|
print *, 'N_states = ', N_states
|
2017-04-20 08:48:06 +02:00
|
|
|
print *, 'PT2 = ', second_order_pt_new(1)
|
|
|
|
print *, 'E = ', CI_energy(1)
|
|
|
|
print *, 'E+PT2 = ', CI_energy(1)+second_order_pt_new(1)
|
|
|
|
print *,'****** DIAGONALIZATION OF DRESSED MATRIX ******'
|
|
|
|
print *, 'E dressed= ', CI_dressed_pt2_new_energy(1)
|
2016-08-24 16:43:01 +02:00
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
subroutine routine_2
|
|
|
|
implicit none
|
2017-04-20 08:48:06 +02:00
|
|
|
integer :: i
|
|
|
|
do i = 1, n_core_inact_orb
|
|
|
|
print*,fock_core_inactive_total(i,1,1),fock_core_inactive(i)
|
|
|
|
enddo
|
|
|
|
double precision :: accu
|
|
|
|
accu = 0.d0
|
|
|
|
do i = 1, n_act_orb
|
|
|
|
integer :: j_act_orb
|
|
|
|
j_act_orb = list_act(i)
|
|
|
|
accu += one_body_dm_mo_alpha(j_act_orb,j_act_orb,1)
|
|
|
|
print*,one_body_dm_mo_alpha(j_act_orb,j_act_orb,1),one_body_dm_mo_beta(j_act_orb,j_act_orb,1)
|
|
|
|
enddo
|
|
|
|
print*,'accu = ',accu
|
|
|
|
|
2016-08-24 16:43:01 +02:00
|
|
|
end
|
|
|
|
|