mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-02 10:34:02 +02:00
50 lines
1.7 KiB
Fortran
50 lines
1.7 KiB
Fortran
![]() |
BEGIN_PROVIDER [double precision, df_ao_integrals_real, (ao_kpt_num,ao_kpt_num,df_num,kpt_pair_num)]
|
||
|
&BEGIN_PROVIDER [double precision, df_ao_integrals_imag, (ao_kpt_num,ao_kpt_num,df_num,kpt_pair_num)]
|
||
|
&BEGIN_PROVIDER [complex*16, df_ao_integrals_complex, (ao_kpt_num,ao_kpt_num,df_num,kpt_pair_num)]
|
||
|
implicit none
|
||
|
BEGIN_DOC
|
||
|
! df AO integrals
|
||
|
END_DOC
|
||
|
integer :: i,j,k,l
|
||
|
|
||
|
if (read_df_ao_integrals) then
|
||
|
df_ao_integrals_real = 0.d0
|
||
|
df_ao_integrals_imag = 0.d0
|
||
|
call ezfio_get_ao_two_e_ints_df_ao_integrals_real(df_ao_integrals_real)
|
||
|
call ezfio_get_ao_two_e_ints_df_ao_integrals_imag(df_ao_integrals_imag)
|
||
|
print *, 'df AO integrals read from disk'
|
||
|
do l=1,kpt_pair_num
|
||
|
do k=1,df_num
|
||
|
do j=1,ao_kpt_num
|
||
|
do i=1,ao_kpt_num
|
||
|
df_ao_integrals_complex(i,j,k,l) = dcmplx(df_ao_integrals_real(i,j,k,l), &
|
||
|
df_ao_integrals_imag(i,j,k,l))
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
else
|
||
|
print*,'df ao integrals must be provided',irp_here
|
||
|
stop -1
|
||
|
endif
|
||
|
|
||
|
if (write_df_ao_integrals) then
|
||
|
! this probably shouldn't happen
|
||
|
do l=1,kpt_pair_num
|
||
|
do k=1,df_num
|
||
|
do j=1,ao_kpt_num
|
||
|
do i=1,ao_kpt_num
|
||
|
df_ao_integrals_real(i,j,k,l) = dble(df_ao_integrals_complex(i,j,k,l))
|
||
|
df_ao_integrals_imag(i,j,k,l) = dimag(df_ao_integrals_complex(i,j,k,l))
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
call ezfio_set_ao_two_e_ints_df_ao_integrals_real(df_ao_integrals_real)
|
||
|
call ezfio_set_ao_two_e_ints_df_ao_integrals_imag(df_ao_integrals_imag)
|
||
|
print *, 'df AO integrals written to disk'
|
||
|
endif
|
||
|
|
||
|
END_PROVIDER
|
||
|
|