mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-04-27 18:54:42 +02:00
fixed missing level of indirection for kpt nchol
This commit is contained in:
parent
54ce1c24f5
commit
df0a876e16
@ -147,7 +147,7 @@ subroutine ao_map_fill_from_chol
|
|||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call zgemm('N','T', ao_num_kpt_2, ao_num_kpt_2, chol_num(kQ), &
|
call zgemm('N','T', ao_num_kpt_2, ao_num_kpt_2, chol_num(abs(kpt_sparse_map(kQ))), &
|
||||||
(1.d0,0.d0), ints_ik, ao_num_kpt_2, &
|
(1.d0,0.d0), ints_ik, ao_num_kpt_2, &
|
||||||
ints_jl, ao_num_kpt_2, &
|
ints_jl, ao_num_kpt_2, &
|
||||||
(0.d0,0.d0), ints_ikjl, ao_num_kpt_2)
|
(0.d0,0.d0), ints_ikjl, ao_num_kpt_2)
|
||||||
|
@ -80,7 +80,7 @@ subroutine mo_map_fill_from_chol_dot
|
|||||||
if (Q_idx > 0) then
|
if (Q_idx > 0) then
|
||||||
do i_mo=1,mo_num_per_kpt
|
do i_mo=1,mo_num_per_kpt
|
||||||
do j_mo=1,mo_num_per_kpt
|
do j_mo=1,mo_num_per_kpt
|
||||||
do i_cd=1,chol_num(kQ)
|
do i_cd=1,chol_num(abs(Q_idx))
|
||||||
!ints_jl(i_cd,i_mo,j_mo) = chol_mo_integrals_complex(i_mo,j_mo,i_cd,kl,Q_idx)
|
!ints_jl(i_cd,i_mo,j_mo) = chol_mo_integrals_complex(i_mo,j_mo,i_cd,kl,Q_idx)
|
||||||
ints_jl(i_cd,i_mo,j_mo) = dconjg(chol_mo_integrals_complex(i_mo,j_mo,i_cd,kl,Q_idx))
|
ints_jl(i_cd,i_mo,j_mo) = dconjg(chol_mo_integrals_complex(i_mo,j_mo,i_cd,kl,Q_idx))
|
||||||
enddo
|
enddo
|
||||||
@ -89,7 +89,7 @@ subroutine mo_map_fill_from_chol_dot
|
|||||||
else
|
else
|
||||||
do i_mo=1,mo_num_per_kpt
|
do i_mo=1,mo_num_per_kpt
|
||||||
do j_mo=1,mo_num_per_kpt
|
do j_mo=1,mo_num_per_kpt
|
||||||
do i_cd=1,chol_num(kQ)
|
do i_cd=1,chol_num(abs(Q_idx))
|
||||||
!ints_jl(i_cd,i_mo,j_mo) = dconjg(chol_mo_integrals_complex(j_mo,i_mo,i_cd,kj,-Q_idx))
|
!ints_jl(i_cd,i_mo,j_mo) = dconjg(chol_mo_integrals_complex(j_mo,i_mo,i_cd,kj,-Q_idx))
|
||||||
ints_jl(i_cd,i_mo,j_mo) = chol_mo_integrals_complex(j_mo,i_mo,i_cd,kj,-Q_idx)
|
ints_jl(i_cd,i_mo,j_mo) = chol_mo_integrals_complex(j_mo,i_mo,i_cd,kj,-Q_idx)
|
||||||
enddo
|
enddo
|
||||||
@ -106,7 +106,7 @@ subroutine mo_map_fill_from_chol_dot
|
|||||||
if (Q_idx > 0) then
|
if (Q_idx > 0) then
|
||||||
do i_mo=1,mo_num_per_kpt
|
do i_mo=1,mo_num_per_kpt
|
||||||
do j_mo=1,mo_num_per_kpt
|
do j_mo=1,mo_num_per_kpt
|
||||||
do i_cd=1,chol_num(kQ)
|
do i_cd=1,chol_num(abs(Q_idx))
|
||||||
ints_ik(i_cd,i_mo,j_mo) = chol_mo_integrals_complex(i_mo,j_mo,i_cd,ki,Q_idx)
|
ints_ik(i_cd,i_mo,j_mo) = chol_mo_integrals_complex(i_mo,j_mo,i_cd,ki,Q_idx)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
@ -115,7 +115,7 @@ subroutine mo_map_fill_from_chol_dot
|
|||||||
else
|
else
|
||||||
do i_mo=1,mo_num_per_kpt
|
do i_mo=1,mo_num_per_kpt
|
||||||
do j_mo=1,mo_num_per_kpt
|
do j_mo=1,mo_num_per_kpt
|
||||||
do i_cd=1,chol_num(kQ)
|
do i_cd=1,chol_num(abs(Q_idx))
|
||||||
ints_ik(i_cd,i_mo,j_mo) = dconjg(chol_mo_integrals_complex(j_mo,i_mo,i_cd,kk,-Q_idx))
|
ints_ik(i_cd,i_mo,j_mo) = dconjg(chol_mo_integrals_complex(j_mo,i_mo,i_cd,kk,-Q_idx))
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
@ -160,8 +160,8 @@ subroutine mo_map_fill_from_chol_dot
|
|||||||
call idx2_tri_int(i,k,ik2)
|
call idx2_tri_int(i,k,ik2)
|
||||||
if (ik2 > jl2) exit
|
if (ik2 > jl2) exit
|
||||||
!integral = zdotc(df_num,ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1)
|
!integral = zdotc(df_num,ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1)
|
||||||
!integral = zdotu(chol_num(kQ),ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1)
|
!integral = zdotu(chol_num(abs(Q_idx)),ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1)
|
||||||
integral = zdotu(chol_num(kQ),ints_jl(1,il,ij),1,ints_ik(1,ii,ik),1)
|
integral = zdotu(chol_num(abs(Q_idx)),ints_jl(1,il,ij),1,ints_ik(1,ii,ik),1)
|
||||||
! print*,i,k,j,l,real(integral),imag(integral)
|
! print*,i,k,j,l,real(integral),imag(integral)
|
||||||
if (cdabs(integral) < mo_integrals_threshold) then
|
if (cdabs(integral) < mo_integrals_threshold) then
|
||||||
cycle
|
cycle
|
||||||
@ -292,7 +292,7 @@ subroutine chol_mo_from_chol_ao(cd_mo,cd_ao,n_mo,n_ao,n_cd,n_k,n_unique_k)
|
|||||||
Q_idx = kpt_sparse_map(kQ)
|
Q_idx = kpt_sparse_map(kQ)
|
||||||
if (Q_idx < 0) cycle
|
if (Q_idx < 0) cycle
|
||||||
|
|
||||||
do mu=1, chol_num(kQ)
|
do mu=1, chol_num(abs(Q_idx))
|
||||||
ints_ik = cd_ao(:,:,mu,ki,Q_idx)
|
ints_ik = cd_ao(:,:,mu,ki,Q_idx)
|
||||||
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_i, n_ao, &
|
(1.d0,0.d0), coef_i, n_ao, &
|
||||||
|
Loading…
x
Reference in New Issue
Block a user