diff --git a/src/davidson/diagonalize_ci.irp.f b/src/davidson/diagonalize_ci.irp.f index 6b852905..42a527a8 100644 --- a/src/davidson/diagonalize_ci.irp.f +++ b/src/davidson/diagonalize_ci.irp.f @@ -330,6 +330,10 @@ END_PROVIDER deallocate(eigenvectors,eigenvalues) endif + ! Dominant determinants for each states + call print_dominant_det(psi_det,CI_eigenvectors,N_det,N_states,N_int) + call wf_overlap(psi_det,psi_coef,N_states,N_det,psi_det,CI_eigenvectors,N_states,N_det) + END_PROVIDER subroutine diagonalize_CI diff --git a/src/hartree_fock/hf_energy.irp.f b/src/hartree_fock/hf_energy.irp.f index c23b6f1e..862d64b0 100644 --- a/src/hartree_fock/hf_energy.irp.f +++ b/src/hartree_fock/hf_energy.irp.f @@ -36,3 +36,24 @@ END_PROVIDER HF_energy += nuclear_repulsion END_PROVIDER + + BEGIN_PROVIDER [ double precision, HF_kinetic_energy] +&BEGIN_PROVIDER [ double precision, HF_n_e_energy] + implicit none + BEGIN_DOC + ! Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. + END_DOC + integer :: i,j + double precision :: tmp1, tmp2 + HF_n_e_energy = 0.d0 + HF_kinetic_energy = 0.d0 + do j=1,ao_num + do i=1,ao_num + tmp1 = ao_integrals_n_e(i,j) * (SCF_density_matrix_ao_alpha(i,j) + SCF_density_matrix_ao_beta (i,j) ) + tmp2 = ao_kinetic_integrals(i,j) * (SCF_density_matrix_ao_alpha(i,j) + SCF_density_matrix_ao_beta (i,j) ) + HF_n_e_energy += tmp1 + HF_kinetic_energy += tmp2 + enddo + enddo +END_PROVIDER + diff --git a/src/mo_basis/mos.irp.f b/src/mo_basis/mos.irp.f index 57ebb533..1ed859ee 100644 --- a/src/mo_basis/mos.irp.f +++ b/src/mo_basis/mos.irp.f @@ -277,7 +277,7 @@ subroutine ao_to_mo(A_ao,LDA_ao,A_mo,LDA_mo) T, ao_num, & 0.d0, A_mo, size(A_mo,1)) - call restore_symmetry(mo_num,mo_num,A_mo,size(A_mo,1),1.d-12) + call restore_symmetry(mo_num,mo_num,A_mo,size(A_mo,1),1.d-15) deallocate(T) end diff --git a/src/mo_one_e_ints/mo_one_e_ints.irp.f b/src/mo_one_e_ints/mo_one_e_ints.irp.f index 926ac7bd..fba55beb 100644 --- a/src/mo_one_e_ints/mo_one_e_ints.irp.f +++ b/src/mo_one_e_ints/mo_one_e_ints.irp.f @@ -18,6 +18,6 @@ BEGIN_PROVIDER [ double precision, mo_one_e_integrals,(mo_num,mo_num)] call ezfio_set_mo_one_e_ints_mo_one_e_integrals(mo_one_e_integrals) print *, 'MO one-e integrals written to disk' ENDIF - call nullify_small_elements(mo_num,mo_num,mo_one_e_integrals,size(mo_one_e_integrals,1),1.d-10) + call nullify_small_elements(mo_num,mo_num,mo_one_e_integrals,size(mo_one_e_integrals,1),1.d-15) END_PROVIDER diff --git a/src/tools/print_energy.irp.f b/src/tools/print_energy.irp.f index 0e67828e..ce424c56 100644 --- a/src/tools/print_energy.irp.f +++ b/src/tools/print_energy.irp.f @@ -15,5 +15,20 @@ end subroutine run implicit none call print_mol_properties - print *, psi_energy + nuclear_repulsion +! call print_energy_components + print *, 'E(HF) = ', HF_energy + print *, 'E(CI) = ', psi_energy + nuclear_repulsion + print *, '' + print *, 'E_kin(CI) = ', ref_bitmask_kinetic_energy + print *, 'E_kin(HF) = ', HF_kinetic_energy + print *, '' + print *, 'E_ne (CI) = ', ref_bitmask_n_e_energy + print *, 'E_ne (HF) = ', HF_n_e_energy + print *, '' + print *, 'E_1e (CI) = ', ref_bitmask_one_e_energy + print *, 'E_1e (HF) = ', HF_one_electron_energy + print *, '' + print *, 'E_2e (CI) = ', ref_bitmask_two_e_energy + print *, 'E_2e (HF) = ', HF_two_electron_energy + end