10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 04:43:45 +01:00

Merge pull request #207 from Ydrnan/qp2_dev

au to Debye , update cisd
This commit is contained in:
Anthony Scemama 2022-05-23 15:26:32 +02:00 committed by GitHub
commit 28ff9d0ed9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 58 additions and 23 deletions

View File

@ -69,7 +69,9 @@ subroutine run
do i = 1,N_states do i = 1,N_states
k = maxloc(dabs(psi_coef_sorted(1:N_det,i)),dim=1) k = maxloc(dabs(psi_coef_sorted(1:N_det,i)),dim=1)
delta_E = CI_electronic_energy(i) - diag_h_mat_elem(psi_det_sorted(1,1,k),N_int) delta_E = CI_electronic_energy(i) - diag_h_mat_elem(psi_det_sorted(1,1,k),N_int)
cisdq(i) = CI_energy(i) + delta_E * (1.d0 - psi_coef_sorted(k,i)**2) if (elec_alpha_num + elec_beta_num >= 4) then
cisdq(i) = CI_energy(i) + delta_E * (1.d0 - psi_coef_sorted(k,i)**2)
endif
enddo enddo
print *, 'N_det = ', N_det print *, 'N_det = ', N_det
print*,'' print*,''
@ -78,26 +80,43 @@ subroutine run
do i = 1,N_states do i = 1,N_states
print *, i, CI_energy(i) print *, i, CI_energy(i)
enddo enddo
print*,'' if (elec_alpha_num + elec_beta_num >= 4) then
print*,'******************************' print*,''
print *, 'CISD+Q Energies' print*,'******************************'
do i = 1,N_states print *, 'CISD+Q Energies'
print *, i, cisdq(i) do i = 1,N_states
enddo print *, i, cisdq(i)
enddo
endif
if (N_states > 1) then if (N_states > 1) then
print*,'' if (elec_alpha_num + elec_beta_num >= 4) then
print*,'******************************' print*,''
print*,'Excitation energies (au) (CISD+Q)' print*,'******************************'
do i = 2, N_states print*,'Excitation energies (au) (CISD+Q)'
print*, i ,CI_energy(i) - CI_energy(1), cisdq(i) - cisdq(1) do i = 2, N_states
enddo print*, i ,CI_energy(i) - CI_energy(1), cisdq(i) - cisdq(1)
print*,'' enddo
print*,'******************************' print*,''
print*,'Excitation energies (eV) (CISD+Q)' print*,'******************************'
do i = 2, N_states print*,'Excitation energies (eV) (CISD+Q)'
print*, i ,(CI_energy(i) - CI_energy(1)) * ha_to_ev, & do i = 2, N_states
(cisdq(i) - cisdq(1)) * ha_to_ev print*, i ,(CI_energy(i) - CI_energy(1)) * ha_to_ev, &
enddo (cisdq(i) - cisdq(1)) * ha_to_ev
enddo
else
print*,''
print*,'******************************'
print*,'Excitation energies (au) (CISD)'
do i = 2, N_states
print*, i ,CI_energy(i) - CI_energy(1)
enddo
print*,''
print*,'******************************'
print*,'Excitation energies (eV) (CISD)'
do i = 2, N_states
print*, i ,(CI_energy(i) - CI_energy(1)) * ha_to_ev
enddo
endif
endif endif
end end

View File

@ -66,9 +66,13 @@ END_PROVIDER
write(*,'(i16)',advance='no') i write(*,'(i16)',advance='no') i
end do end do
write(*,*) '' write(*,*) ''
write(*,'(A17,100(1pE16.8))') 'x_dipole_moment = ',x_dipole_moment write(*,'(A23,100(1pE16.8))') 'x_dipole_moment (au) = ',x_dipole_moment
write(*,'(A17,100(1pE16.8))') 'y_dipole_moment = ',y_dipole_moment write(*,'(A23,100(1pE16.8))') 'y_dipole_moment (au) = ',y_dipole_moment
write(*,'(A17,100(1pE16.8))') 'z_dipole_moment = ',z_dipole_moment write(*,'(A23,100(1pE16.8))') 'z_dipole_moment (au) = ',z_dipole_moment
write(*,*) ''
write(*,'(A23,100(1pE16.8))') 'x_dipole_moment (D) = ',x_dipole_moment * au_to_D
write(*,'(A23,100(1pE16.8))') 'y_dipole_moment (D) = ',y_dipole_moment * au_to_D
write(*,'(A23,100(1pE16.8))') 'z_dipole_moment (D) = ',z_dipole_moment * au_to_D
!print*, 'x_dipole_moment = ',x_dipole_moment !print*, 'x_dipole_moment = ',x_dipole_moment
!print*, 'y_dipole_moment = ',y_dipole_moment !print*, 'y_dipole_moment = ',y_dipole_moment
!print*, 'z_dipole_moment = ',z_dipole_moment !print*, 'z_dipole_moment = ',z_dipole_moment

View File

@ -8,3 +8,15 @@ BEGIN_PROVIDER [double precision, ha_to_ev]
ha_to_ev = 27.211396641308d0 ha_to_ev = 27.211396641308d0
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [double precision, au_to_D]
implicit none
BEGIN_DOC
! Converstion from au to Debye
END_DOC
au_to_D = 2.5415802529d0
END_PROVIDER