mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-01-09 11:43:55 +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)
|
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)
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user