mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-10 21:18:29 +01:00
modified output in SC2
This commit is contained in:
parent
2bdf2d83f4
commit
129fa6a65d
@ -50,10 +50,10 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint,iunit)
|
|||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call write_time(output_SC2)
|
call write_time(output_Dets)
|
||||||
write(output_SC2,'(A)') ''
|
write(output_Dets,'(A)') ''
|
||||||
write(output_SC2,'(A)') 'CISD SC2'
|
write(output_Dets,'(A)') 'CISD SC2'
|
||||||
write(output_SC2,'(A)') '========'
|
write(output_Dets,'(A)') '========'
|
||||||
!$OMP PARALLEL DEFAULT(NONE) &
|
!$OMP PARALLEL DEFAULT(NONE) &
|
||||||
!$OMP SHARED(sze,N_st, &
|
!$OMP SHARED(sze,N_st, &
|
||||||
!$OMP H_jj_ref,Nint,dets_in,u_in) &
|
!$OMP H_jj_ref,Nint,dets_in,u_in) &
|
||||||
@ -120,7 +120,7 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint,iunit)
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
if(sze>1000)then
|
if(sze>1000)then
|
||||||
call davidson_diag_hjj(dets_in,u_in,H_jj_dressed,energies,dim_in,sze,N_st,Nint,output_SC2)
|
call davidson_diag_hjj(dets_in,u_in,H_jj_dressed,energies,dim_in,sze,N_st,Nint,output_Dets)
|
||||||
else
|
else
|
||||||
do i = 1,sze
|
do i = 1,sze
|
||||||
H_matrix_tmp(i,i) = H_jj_dressed(i)
|
H_matrix_tmp(i,i) = H_jj_dressed(i)
|
||||||
@ -141,18 +141,18 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint,iunit)
|
|||||||
e_corr_array(i) = u_in(index_double(i),1)*inv_c0 * hij_double(i)
|
e_corr_array(i) = u_in(index_double(i),1)*inv_c0 * hij_double(i)
|
||||||
e_corr_double += e_corr_array(i)
|
e_corr_double += e_corr_array(i)
|
||||||
enddo
|
enddo
|
||||||
write(output_SC2,'(A,I3)') 'SC2 Iteration ', iter
|
write(output_Dets,'(A,I3)') 'SC2 Iteration ', iter
|
||||||
write(output_SC2,'(A)') '------------------'
|
write(output_Dets,'(A)') '------------------'
|
||||||
write(output_SC2,'(A)') ''
|
write(output_Dets,'(A)') ''
|
||||||
write(output_SC2,'(A)') '===== ================'
|
write(output_Dets,'(A)') '===== ================'
|
||||||
write(output_SC2,'(A)') 'State Energy '
|
write(output_Dets,'(A)') 'State Energy '
|
||||||
write(output_SC2,'(A)') '===== ================'
|
write(output_Dets,'(A)') '===== ================'
|
||||||
do i=1,N_st
|
do i=1,N_st
|
||||||
write(output_SC2,'(I5,X,F16.10)') i, energies(i)+nuclear_repulsion
|
write(output_Dets,'(I5,X,F16.10)') i, energies(i)+nuclear_repulsion
|
||||||
enddo
|
enddo
|
||||||
write(output_SC2,'(A)') '===== ================'
|
write(output_Dets,'(A)') '===== ================'
|
||||||
write(output_SC2,'(A)') ''
|
write(output_Dets,'(A)') ''
|
||||||
call write_double(output_SC2,(e_corr_double - e_corr_double_before),&
|
call write_double(output_Dets,(e_corr_double - e_corr_double_before),&
|
||||||
'Delta(E_corr)')
|
'Delta(E_corr)')
|
||||||
converged = dabs(e_corr_double - e_corr_double_before) < 1.d-10
|
converged = dabs(e_corr_double - e_corr_double_before) < 1.d-10
|
||||||
if (converged) then
|
if (converged) then
|
||||||
@ -162,7 +162,7 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint,iunit)
|
|||||||
|
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
call write_time(output_SC2)
|
call write_time(output_Dets)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -6,11 +6,11 @@ BEGIN_PROVIDER [ double precision, CI_SC2_energy, (N_states) ]
|
|||||||
|
|
||||||
integer :: j
|
integer :: j
|
||||||
character*(8) :: st
|
character*(8) :: st
|
||||||
call write_time(output_SC2)
|
call write_time(output_Dets)
|
||||||
do j=1,N_states
|
do j=1,N_states
|
||||||
CI_SC2_energy(j) = CI_SC2_electronic_energy(j) + nuclear_repulsion
|
CI_SC2_energy(j) = CI_SC2_electronic_energy(j) + nuclear_repulsion
|
||||||
write(st,'(I4)') j
|
write(st,'(I4)') j
|
||||||
call write_double(output_SC2,CI_SC2_energy(j),'Energy of state '//trim(st))
|
call write_double(output_Dets,CI_SC2_energy(j),'Energy of state '//trim(st))
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
@ -32,7 +32,7 @@ END_PROVIDER
|
|||||||
|
|
||||||
|
|
||||||
call CISD_SC2(psi_det,CI_SC2_eigenvectors,CI_SC2_electronic_energy, &
|
call CISD_SC2(psi_det,CI_SC2_eigenvectors,CI_SC2_electronic_energy, &
|
||||||
size(CI_SC2_eigenvectors,1),N_det,N_states,N_int,output_SC2)
|
size(CI_SC2_eigenvectors,1),N_det,N_states,N_int,output_Dets)
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
subroutine diagonalize_CI_SC2
|
subroutine diagonalize_CI_SC2
|
||||||
|
Loading…
Reference in New Issue
Block a user