10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 21:03:49 +01:00

fixed ao to mo 3idx transformation

This commit is contained in:
Kevin Gasperich 2020-02-19 12:13:24 -06:00
parent 727ab502c5
commit a81152ad7f
4 changed files with 5 additions and 3 deletions

View File

@ -40,5 +40,6 @@ interface: ezfio
[mo_num_per_kpt] [mo_num_per_kpt]
type: integer type: integer
doc: Number of |MOs| per kpt doc: Number of |MOs| per kpt
default: =(mo_basis.mo_num/nuclei.kpt_num)
interface: ezfio interface: ezfio

View File

@ -265,13 +265,13 @@ subroutine df_mo_from_df_ao(df_mo,df_ao,n_mo,n_ao,n_df,n_k_pairs)
do mu=1, df_num do mu=1, df_num
ints_jl = df_ao(:,:,mu,kjkl2) ints_jl = df_ao(:,:,mu,kjkl2)
call zgemm('C','N',n_mo,n_ao,n_ao, & call zgemm('C','N',n_mo,n_ao,n_ao, &
(1.d0,0.d0), coef_j, n_ao, & (1.d0,0.d0), coef_l, n_ao, &
ints_jl, n_ao, & ints_jl, n_ao, &
(0.d0,0.d0), ints_tmp, n_mo) (0.d0,0.d0), ints_tmp, n_mo)
call zgemm('N','N',n_mo,n_mo,n_ao, & call zgemm('N','N',n_mo,n_mo,n_ao, &
(1.d0,0.d0), ints_tmp, n_mo, & (1.d0,0.d0), ints_tmp, n_mo, &
coef_l, n_ao, & coef_j, n_ao, &
(0.d0,0.d0), df_mo(:,:,mu,kjkl2), n_mo) (0.d0,0.d0), df_mo(:,:,mu,kjkl2), n_mo)
enddo enddo
enddo enddo

View File

@ -41,7 +41,7 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ]
call map_load_from_disk(trim(ezfio_filename)//'/work/mo_ints_complex_2',mo_integrals_map_2) call map_load_from_disk(trim(ezfio_filename)//'/work/mo_ints_complex_2',mo_integrals_map_2)
print*, 'MO integrals provided (periodic)' print*, 'MO integrals provided (periodic)'
return return
else if (read_df_mo_integrals) then else if (read_df_mo_integrals.or.read_df_ao_integrals) then
PROVIDE df_mo_integrals_complex PROVIDE df_mo_integrals_complex
call mo_map_fill_from_df call mo_map_fill_from_df
return return

View File

@ -149,6 +149,7 @@ if 'ao_two_e_ints' in qph5.keys():
if 'mo_two_e_ints' in qph5.keys(): if 'mo_two_e_ints' in qph5.keys():
df_num = qph5['ao_two_e_ints'].attrs['df_num'] df_num = qph5['ao_two_e_ints'].attrs['df_num']
ezfio.set_ao_two_e_ints_df_num(df_num)
dfmo_re0=qph5['mo_two_e_ints/df_mo_integrals_real'][()].transpose((3,2,1,0)) dfmo_re0=qph5['mo_two_e_ints/df_mo_integrals_real'][()].transpose((3,2,1,0))
dfmo_im0=qph5['mo_two_e_ints/df_mo_integrals_imag'][()].transpose((3,2,1,0)) dfmo_im0=qph5['mo_two_e_ints/df_mo_integrals_imag'][()].transpose((3,2,1,0))
dfmo_cmplx0 = np.stack((dfmo_re0,dfmo_im0),axis=-1).tolist() dfmo_cmplx0 = np.stack((dfmo_re0,dfmo_im0),axis=-1).tolist()