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

minor modifs

This commit is contained in:
eginer 2022-10-27 14:04:12 +02:00
parent 228df587d0
commit b8ab476bf0
3 changed files with 7 additions and 6 deletions

View File

@ -120,6 +120,7 @@ END_PROVIDER
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, angle_left_right, (mo_num)] BEGIN_PROVIDER [ double precision, angle_left_right, (mo_num)]
&BEGIN_PROVIDER [ double precision, max_angle_left_right]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! angle_left_right(i) = angle between the left-eigenvector chi_i and the right-eigenvector phi_i ! angle_left_right(i) = angle between the left-eigenvector chi_i and the right-eigenvector phi_i
@ -133,6 +134,9 @@ BEGIN_PROVIDER [ double precision, angle_left_right, (mo_num)]
arg = max(arg,-1.d0) arg = max(arg,-1.d0)
angle_left_right(i) = dacos(arg) * 180.d0/dacos(-1.d0) angle_left_right(i) = dacos(arg) * 180.d0/dacos(-1.d0)
enddo enddo
double precision :: angle(mo_num)
angle(1:mo_num) = dabs(angle_left_right(i))
max_angle_left_right = maxval(angle)
END_PROVIDER END_PROVIDER

View File

@ -239,6 +239,7 @@ subroutine print_energy_and_mos
print*,'' print*,''
print*,'TC energy = ', TC_HF_energy print*,'TC energy = ', TC_HF_energy
print*,'TC SCF energy gradient = ',grad_non_hermit print*,'TC SCF energy gradient = ',grad_non_hermit
print*,'Max angle Left/right = ',max_angle_left_right
print*,'Diag Fock elem, product of left/right norm, angle left/right ' print*,'Diag Fock elem, product of left/right norm, angle left/right '
do i = 1, mo_num do i = 1, mo_num
write(*,'(I3,X,100(F16.10,X))')i,Fock_matrix_tc_mo_tot(i,i),overlap_mo_l(i,i)*overlap_mo_r(i,i),angle_left_right(i) write(*,'(I3,X,100(F16.10,X))')i,Fock_matrix_tc_mo_tot(i,i),overlap_mo_l(i,i)*overlap_mo_r(i,i),angle_left_right(i)

View File

@ -170,11 +170,7 @@ subroutine routine_scf()
endif endif
print*,'Energy converged !' print*,'Energy converged !'
print*,'Final TC energy = ', TC_HF_energy call print_energy_and_mos
print*,'Diag Fock elem, product of left/right norm, angle left/right '
do i = 1, mo_num
write(*,'(I3,X,100(F16.10,X))')i,Fock_matrix_tc_mo_tot(i,i),overlap_mo_l(i,i)*overlap_mo_r(i,i),angle_left_right(i)
enddo
deallocate(rho_old, rho_new) deallocate(rho_old, rho_new)