mirror of
https://github.com/LCPQ/quantum_package
synced 2024-11-09 07:33:53 +01:00
60 lines
1.3 KiB
Fortran
60 lines
1.3 KiB
Fortran
program print_integrals
|
|
implicit none
|
|
|
|
integer :: iunit
|
|
integer :: getunitandopen
|
|
|
|
integer ::i,j,k,l
|
|
double precision :: integral
|
|
|
|
iunit = getunitandopen('kinetic_mo','w')
|
|
do i=1,mo_tot_num
|
|
do j=1,mo_tot_num
|
|
write(iunit,*) i,j, mo_kinetic_integral(i,j)
|
|
enddo
|
|
enddo
|
|
close(iunit)
|
|
|
|
iunit = getunitandopen('overlap_mo','w')
|
|
do i=1,mo_tot_num
|
|
do j=1,mo_tot_num
|
|
write(iunit,*) i,j, mo_overlap(i,j)
|
|
enddo
|
|
enddo
|
|
close(iunit)
|
|
|
|
iunit = getunitandopen('nuclear_mo','w')
|
|
do i=1,mo_tot_num
|
|
do j=1,mo_tot_num
|
|
write(iunit,*) i,j, mo_nucl_elec_integral(i,j)
|
|
enddo
|
|
enddo
|
|
close(iunit)
|
|
|
|
!iunit = getunitandopen('pseudo_mo','w')
|
|
!do i=1,mo_tot_num
|
|
! do j=1,mo_tot_num
|
|
! write(iunit,*) i,j, mo_pseudo_integral(i,j)
|
|
! enddo
|
|
!enddo
|
|
!close(iunit)
|
|
|
|
PROVIDE mo_bielec_integrals_in_map
|
|
iunit = getunitandopen('bielec_mo','w')
|
|
do l=1,mo_tot_num
|
|
do k=1,mo_tot_num
|
|
do j=l,mo_tot_num
|
|
do i=max(j,k),mo_tot_num
|
|
double precision :: get_mo_bielec_integral
|
|
integral = get_mo_bielec_integral(i,j,k,l,mo_integrals_map)
|
|
if (dabs(integral) > mo_integrals_threshold) then
|
|
write (iunit,'(4(I6,X),E25.15)') i,j,k,l, integral
|
|
endif
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
close(iunit)
|
|
end
|