From 2371bdf9a3023cfac1c1b63a1350dea750daf52a Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Fri, 20 Mar 2020 14:20:04 -0500 Subject: [PATCH] kpts diag --- src/mo_one_e_ints/kin_mo_ints.irp.f | 10 +++++++--- src/mo_one_e_ints/mo_one_e_ints.irp.f | 10 +++++++--- src/mo_one_e_ints/pot_mo_ints.irp.f | 10 +++++++--- src/mo_one_e_ints/pot_mo_pseudo_ints.irp.f | 10 +++++++--- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/mo_one_e_ints/kin_mo_ints.irp.f b/src/mo_one_e_ints/kin_mo_ints.irp.f index b12b39bc..e07ab690 100644 --- a/src/mo_one_e_ints/kin_mo_ints.irp.f +++ b/src/mo_one_e_ints/kin_mo_ints.irp.f @@ -30,9 +30,13 @@ BEGIN_PROVIDER [ double precision, mo_kinetic_integrals_diag,(mo_num)] END_DOC if (is_complex) then - PROVIDE mo_kinetic_integrals_complex - do i=1,mo_num - mo_kinetic_integrals_diag(i) = dble(mo_kinetic_integrals_complex(i,i)) + integer :: k,i_shft + PROVIDE mo_kinetic_integrals_kpts + do k=1,kpt_num + i_shft = (k-1)*mo_num_per_kpt + do i=1,mo_num_per_kpt + mo_kinetic_integrals_diag(i+i_shft) = dble(mo_kinetic_integrals_kpts(i,i,k)) + enddo enddo else PROVIDE mo_kinetic_integrals diff --git a/src/mo_one_e_ints/mo_one_e_ints.irp.f b/src/mo_one_e_ints/mo_one_e_ints.irp.f index 5e9f4997..78b9a960 100644 --- a/src/mo_one_e_ints/mo_one_e_ints.irp.f +++ b/src/mo_one_e_ints/mo_one_e_ints.irp.f @@ -33,9 +33,13 @@ BEGIN_PROVIDER [ double precision, mo_one_e_integrals_diag,(mo_num)] END_DOC if (is_complex) then - PROVIDE mo_one_e_integrals_complex - do i=1,mo_num - mo_one_e_integrals_diag(i) = dble(mo_one_e_integrals_complex(i,i)) + integer :: k,i_shft + PROVIDE mo_one_e_integrals_kpts + do k=1,kpt_num + i_shft = (k-1)*mo_num_per_kpt + do i=1,mo_num_per_kpt + mo_one_e_integrals_diag(i+i_shft) = dble(mo_one_e_integrals_kpts(i,i,k)) + enddo enddo else PROVIDE mo_one_e_integrals diff --git a/src/mo_one_e_ints/pot_mo_ints.irp.f b/src/mo_one_e_ints/pot_mo_ints.irp.f index 6682449a..6903d972 100644 --- a/src/mo_one_e_ints/pot_mo_ints.irp.f +++ b/src/mo_one_e_ints/pot_mo_ints.irp.f @@ -52,9 +52,13 @@ BEGIN_PROVIDER [ double precision, mo_integrals_n_e_diag,(mo_num)] END_DOC if (is_complex) then - PROVIDE mo_integrals_n_e_complex - do i=1,mo_num - mo_integrals_n_e_diag(i) = dble(mo_integrals_n_e_complex(i,i)) + integer :: k,i_shft + PROVIDE mo_integrals_n_e_kpts + do k=1,kpt_num + i_shft = (k-1)*mo_num_per_kpt + do i=1,mo_num_per_kpt + mo_integrals_n_e_diag(i+i_shft) = dble(mo_integrals_n_e_kpts(i,i,k)) + enddo enddo else PROVIDE mo_integrals_n_e diff --git a/src/mo_one_e_ints/pot_mo_pseudo_ints.irp.f b/src/mo_one_e_ints/pot_mo_pseudo_ints.irp.f index f135629a..504d8c02 100644 --- a/src/mo_one_e_ints/pot_mo_pseudo_ints.irp.f +++ b/src/mo_one_e_ints/pot_mo_pseudo_ints.irp.f @@ -33,9 +33,13 @@ BEGIN_PROVIDER [ double precision, mo_pseudo_integrals_diag,(mo_num)] END_DOC if (is_complex) then - PROVIDE mo_pseudo_integrals_complex - do i=1,mo_num - mo_pseudo_integrals_diag(i) = dble(mo_pseudo_integrals_complex(i,i)) + integer :: k,i_shft + PROVIDE mo_pseudo_integrals_kpts + do k=1,kpt_num + i_shft = (k-1)*mo_num_per_kpt + do i=1,mo_num_per_kpt + mo_pseudo_integrals_diag(i+i_shft) = dble(mo_pseudo_integrals_kpts(i,i,k)) + enddo enddo else PROVIDE mo_pseudo_integrals