10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 12:55:37 +01: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)
interface: ezfio
[kpt_pair_map]
[qktok2]
type: integer
doc: mapping from pairs of kpts to total per electron
size: (nuclei.kpt_num,nuclei.kpt_num)
interface: ezfio
[kpt_inv]
[minusk]
type: integer
doc: additive inverse for each kpt
size: (nuclei.kpt_num)

View File

@ -31,49 +31,49 @@ BEGIN_PROVIDER [integer, kconserv, (kpt_num,kpt_num,kpt_num)]
endif
END_PROVIDER
BEGIN_PROVIDER [integer, kpt_pair_map, (kpt_num,kpt_num)]
BEGIN_PROVIDER [integer, qktok2, (kpt_num,kpt_num)]
implicit none
BEGIN_DOC
! 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
!
END_DOC
if (read_kpt_symm) then
call ezfio_get_nuclei_kpt_pair_map(kpt_pair_map)
print *, 'kpt_pair_map read from disk'
call ezfio_get_nuclei_qktok2(qktok2)
print *, 'qktok2 read from disk'
else
print*,'kpt_pair_map must be provided'
print*,'qktok2 must be provided'
stop -1
endif
if (write_kpt_symm) then
call ezfio_set_nuclei_kpt_pair_map(kpt_pair_map)
print *, 'kpt_pair_map written to disk'
call ezfio_set_nuclei_qktok2(qktok2)
print *, 'qktok2 written to disk'
endif
END_PROVIDER
BEGIN_PROVIDER [integer, kpt_inv, (kpt_num)]
BEGIN_PROVIDER [integer, minusk, (kpt_num)]
implicit none
BEGIN_DOC
! 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)
!
END_DOC
if (read_kpt_symm) then
call ezfio_get_nuclei_kpt_inv(kpt_inv)
print *, 'kpt_inv read from disk'
call ezfio_get_nuclei_minusk(minusk)
print *, 'minusk read from disk'
else
print*,'kpt_inv must be provided'
print*,'minusk must be provided'
stop -1
endif
if (write_kpt_symm) then
call ezfio_set_nuclei_kpt_inv(kpt_inv)
print *, 'kpt_inv written to disk'
call ezfio_set_nuclei_minusk(minusk)
print *, 'minusk written to disk'
endif
END_PROVIDER
@ -85,6 +85,16 @@ BEGIN_PROVIDER [integer, kpt_sparse_map, (kpt_num)]
! for k-point I: if kpt_sparse_map(I) = j
! 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 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
@ -112,15 +122,15 @@ end subroutine
subroutine set_kconserv(kcon)
implicit none
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 k=1,kpt_num
! Q = k_I - k_K
qik = kpt_pair_map(i,k)
qik = qktok2(k,i)
do j=1,kpt_num
! 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