mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-19 12:32:30 +01:00
renaming to match qmcpack
This commit is contained in:
parent
a65eeab44e
commit
3fa67de8e6
@ -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)
|
||||
|
@ -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
|
||||
|
||||
@ -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 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
|
||||
|
||||
if (read_kpt_symm) then
|
||||
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user