10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-30 00:44:37 +02:00

kpts diag

This commit is contained in:
Kevin Gasperich 2020-03-20 14:20:04 -05:00
parent d0fe9aad4f
commit 2371bdf9a3
4 changed files with 28 additions and 12 deletions

View File

@ -30,9 +30,13 @@ BEGIN_PROVIDER [ double precision, mo_kinetic_integrals_diag,(mo_num)]
END_DOC END_DOC
if (is_complex) then if (is_complex) then
PROVIDE mo_kinetic_integrals_complex integer :: k,i_shft
do i=1,mo_num PROVIDE mo_kinetic_integrals_kpts
mo_kinetic_integrals_diag(i) = dble(mo_kinetic_integrals_complex(i,i)) 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 enddo
else else
PROVIDE mo_kinetic_integrals PROVIDE mo_kinetic_integrals

View File

@ -33,9 +33,13 @@ BEGIN_PROVIDER [ double precision, mo_one_e_integrals_diag,(mo_num)]
END_DOC END_DOC
if (is_complex) then if (is_complex) then
PROVIDE mo_one_e_integrals_complex integer :: k,i_shft
do i=1,mo_num PROVIDE mo_one_e_integrals_kpts
mo_one_e_integrals_diag(i) = dble(mo_one_e_integrals_complex(i,i)) 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 enddo
else else
PROVIDE mo_one_e_integrals PROVIDE mo_one_e_integrals

View File

@ -52,9 +52,13 @@ BEGIN_PROVIDER [ double precision, mo_integrals_n_e_diag,(mo_num)]
END_DOC END_DOC
if (is_complex) then if (is_complex) then
PROVIDE mo_integrals_n_e_complex integer :: k,i_shft
do i=1,mo_num PROVIDE mo_integrals_n_e_kpts
mo_integrals_n_e_diag(i) = dble(mo_integrals_n_e_complex(i,i)) 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 enddo
else else
PROVIDE mo_integrals_n_e PROVIDE mo_integrals_n_e

View File

@ -33,9 +33,13 @@ BEGIN_PROVIDER [ double precision, mo_pseudo_integrals_diag,(mo_num)]
END_DOC END_DOC
if (is_complex) then if (is_complex) then
PROVIDE mo_pseudo_integrals_complex integer :: k,i_shft
do i=1,mo_num PROVIDE mo_pseudo_integrals_kpts
mo_pseudo_integrals_diag(i) = dble(mo_pseudo_integrals_complex(i,i)) 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 enddo
else else
PROVIDE mo_pseudo_integrals PROVIDE mo_pseudo_integrals