10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-25 05:43:47 +01:00
quantum_package/plugins/dress_zmq/energy.irp.f
2018-05-07 15:21:28 +02:00

37 lines
1.1 KiB
Fortran

BEGIN_PROVIDER [ logical, initialize_dress_E0_denominator ]
implicit none
BEGIN_DOC
! If true, initialize dress_E0_denominator
END_DOC
initialize_dress_E0_denominator = .True.
END_PROVIDER
BEGIN_PROVIDER [ double precision, dress_E0_denominator, (N_states) ]
implicit none
BEGIN_DOC
! E0 in the denominator of the dress
END_DOC
integer :: i
if (initialize_dress_E0_denominator) then
if (h0_type == "EN") then
dress_E0_denominator(1:N_states) = psi_energy(1:N_states)
else if (h0_type == "Barycentric") then
! dress_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states)
dress_E0_denominator(1:N_states) = minval(diagonal_H_matrix_on_psi_det(1:N_det))
else
print *, h0_type, ' not implemented'
stop
endif
! call u_0_H_u_0(dress_E0_denominator,psi_coef,N_det,psi_det,N_int,N_states,size(psi_coef,1))
! do i=N_det+1,N_states
! dress_E0_denominator(i) = 0.d0
! enddo
call write_double(6,dress_E0_denominator(1)+nuclear_repulsion, 'dress Energy denominator')
else
dress_E0_denominator = -huge(1.d0)
endif
END_PROVIDER