10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-09-13 14:28:30 +02:00

renaming to match qmcpack

This commit is contained in:
Kevin Gasperich 2022-03-09 13:35:15 -06:00
parent a65eeab44e
commit 3fa67de8e6
2 changed files with 29 additions and 19 deletions

View File

@ -61,13 +61,13 @@ doc: array containing information about k-point symmetry
size: (nuclei.kpt_num,nuclei.kpt_num,nuclei.kpt_num) size: (nuclei.kpt_num,nuclei.kpt_num,nuclei.kpt_num)
interface: ezfio interface: ezfio
[kpt_pair_map] [qktok2]
type: integer type: integer
doc: mapping from pairs of kpts to total per electron doc: mapping from pairs of kpts to total per electron
size: (nuclei.kpt_num,nuclei.kpt_num) size: (nuclei.kpt_num,nuclei.kpt_num)
interface: ezfio interface: ezfio
[kpt_inv] [minusk]
type: integer type: integer
doc: additive inverse for each kpt doc: additive inverse for each kpt
size: (nuclei.kpt_num) size: (nuclei.kpt_num)

View File

@ -31,49 +31,49 @@ BEGIN_PROVIDER [integer, kconserv, (kpt_num,kpt_num,kpt_num)]
endif endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [integer, kpt_pair_map, (kpt_num,kpt_num)] BEGIN_PROVIDER [integer, qktok2, (kpt_num,kpt_num)]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Information about k-point symmetry ! Information about k-point symmetry
! !
! for k-points I,K: kpt_pair_map(I,K) = \alpha ! for k-points I,K: qktok2(K,I) = \alpha
! where Q_{\alpha} = k_I - k_K ! where Q_{\alpha} = k_I - k_K
! !
END_DOC END_DOC
if (read_kpt_symm) then if (read_kpt_symm) then
call ezfio_get_nuclei_kpt_pair_map(kpt_pair_map) call ezfio_get_nuclei_qktok2(qktok2)
print *, 'kpt_pair_map read from disk' print *, 'qktok2 read from disk'
else else
print*,'kpt_pair_map must be provided' print*,'qktok2 must be provided'
stop -1 stop -1
endif endif
if (write_kpt_symm) then if (write_kpt_symm) then
call ezfio_set_nuclei_kpt_pair_map(kpt_pair_map) call ezfio_set_nuclei_qktok2(qktok2)
print *, 'kpt_pair_map written to disk' print *, 'qktok2 written to disk'
endif endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [integer, kpt_inv, (kpt_num)] BEGIN_PROVIDER [integer, minusk, (kpt_num)]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Information about k-point symmetry ! Information about k-point symmetry
! !
! for k-point I: kpt_inv(I) = K ! for k-point I: minusk(I) = K
! where k_I + k_K = 0 (mod G) ! where k_I + k_K = 0 (mod G)
! !
END_DOC END_DOC
if (read_kpt_symm) then if (read_kpt_symm) then
call ezfio_get_nuclei_kpt_inv(kpt_inv) call ezfio_get_nuclei_minusk(minusk)
print *, 'kpt_inv read from disk' print *, 'minusk read from disk'
else else
print*,'kpt_inv must be provided' print*,'minusk must be provided'
stop -1 stop -1
endif endif
if (write_kpt_symm) then if (write_kpt_symm) then
call ezfio_set_nuclei_kpt_inv(kpt_inv) call ezfio_set_nuclei_minusk(minusk)
print *, 'kpt_inv written to disk' print *, 'minusk written to disk'
endif endif
END_PROVIDER END_PROVIDER
@ -86,6 +86,16 @@ BEGIN_PROVIDER [integer, kpt_sparse_map, (kpt_num)]
! if j>0: data for k_I is stored at index j in chol_ints ! if j>0: data for k_I is stored at index j in chol_ints
! if j<0: data for k_I is conj. transp. of data at index j in chol_{ao,mo}_integrals_complex ! if j<0: data for k_I is conj. transp. of data at index j in chol_{ao,mo}_integrals_complex
! !
! if we have h5 data stored under L[i]:
! count=1
! do i=1,N_L
! kpt_sparse_map(i)=count
! if (minusk(i) != i) then
! kpt_sparse_map(minusk(i)) = -count
! endif
! count += 1
! enddo
!
END_DOC END_DOC
if (read_kpt_symm) then if (read_kpt_symm) then
@ -112,15 +122,15 @@ end subroutine
subroutine set_kconserv(kcon) subroutine set_kconserv(kcon)
implicit none implicit none
integer, intent(out) :: kcon(kpt_num,kpt_num,kpt_num) integer, intent(out) :: kcon(kpt_num,kpt_num,kpt_num)
integer :: i,j,k,qij integer :: i,j,k,qik
do i=1,kpt_num do i=1,kpt_num
do k=1,kpt_num do k=1,kpt_num
! Q = k_I - k_K ! Q = k_I - k_K
qik = kpt_pair_map(i,k) qik = qktok2(k,i)
do j=1,kpt_num do j=1,kpt_num
! k_L = k_J - (-(k_I - k_K)) ! k_L = k_J - (-(k_I - k_K))
kcon(i,j,k) = kpt_pair_map(j,kpt_inv(qik)) kcon(i,j,k) = qktok2(minusk(j),qik)
enddo enddo
enddo enddo
enddo enddo