From a81152ad7f6d5e71868e8721599f156e3b4c610b Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 19 Feb 2020 12:13:24 -0600 Subject: [PATCH] fixed ao to mo 3idx transformation --- src/mo_basis/EZFIO.cfg | 1 + src/mo_two_e_ints/df_mo_ints.irp.f | 4 ++-- src/mo_two_e_ints/mo_bi_integrals.irp.f | 2 +- src/utils_complex/create_ezfio_complex_3idx.py | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mo_basis/EZFIO.cfg b/src/mo_basis/EZFIO.cfg index fd9303aa..ee915b1c 100644 --- a/src/mo_basis/EZFIO.cfg +++ b/src/mo_basis/EZFIO.cfg @@ -40,5 +40,6 @@ interface: ezfio [mo_num_per_kpt] type: integer doc: Number of |MOs| per kpt +default: =(mo_basis.mo_num/nuclei.kpt_num) interface: ezfio diff --git a/src/mo_two_e_ints/df_mo_ints.irp.f b/src/mo_two_e_ints/df_mo_ints.irp.f index 7a0ab82a..dbb10782 100644 --- a/src/mo_two_e_ints/df_mo_ints.irp.f +++ b/src/mo_two_e_ints/df_mo_ints.irp.f @@ -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 ints_jl = df_ao(:,:,mu,kjkl2) 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, & (0.d0,0.d0), ints_tmp, n_mo) call zgemm('N','N',n_mo,n_mo,n_ao, & (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) enddo enddo diff --git a/src/mo_two_e_ints/mo_bi_integrals.irp.f b/src/mo_two_e_ints/mo_bi_integrals.irp.f index 08fb82ba..aeef6ff6 100644 --- a/src/mo_two_e_ints/mo_bi_integrals.irp.f +++ b/src/mo_two_e_ints/mo_bi_integrals.irp.f @@ -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) print*, 'MO integrals provided (periodic)' 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 call mo_map_fill_from_df return diff --git a/src/utils_complex/create_ezfio_complex_3idx.py b/src/utils_complex/create_ezfio_complex_3idx.py index 9780b6e4..a1a2cca9 100755 --- a/src/utils_complex/create_ezfio_complex_3idx.py +++ b/src/utils_complex/create_ezfio_complex_3idx.py @@ -149,6 +149,7 @@ if 'ao_two_e_ints' in qph5.keys(): if 'mo_two_e_ints' in qph5.keys(): 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_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()