13 integer i1,i2,i3,iv(3)
14 integer nsym,isym,sym(3,3,48)
15 real(8) v1(3),v2(3),v3(3)
17 integer,
allocatable :: idx(:),ivh_(:,:)
18 real(8),
allocatable :: vhc_(:,:),hc_(:)
22 if (
allocated(
ivh))
deallocate(
ivh)
24 if (
allocated(
mulh))
deallocate(
mulh)
26 if (
allocated(
vhc))
deallocate(
vhc)
28 if (
allocated(
hc))
deallocate(
hc)
35 v1(1:3)=dble(i1)*
bvec(1:3,1)
37 v2(1:3)=v1(1:3)+dble(i2)*
bvec(1:3,2)
39 v3(1:3)=v2(1:3)+dble(i3)*
bvec(1:3,3)
42 ivh_(1,ih)=i1; ivh_(2,ih)=i2; ivh_(3,ih)=i3
46 hc_(ih)=sqrt(v3(1)**2+v3(2)**2+v3(3)**2)
73 sym(:,:,nsym)=
symlat(:,:,isym)
86 sym(:,:,nsym)=
symlat(:,:,isym)
102 call i3mtv(sym(:,:,isym),ivh_(:,ih),iv(:))
104 k=abs(
ivh(1,jh)-iv(1))+abs(
ivh(2,jh)-iv(2))+abs(
ivh(3,jh)-iv(3))
106 ivh(1:3,lh)=ivh_(1:3,ih)
108 vhc(1:3,lh)=vhc_(1:3,ih)
116 ivh(1:3,kh)=ivh_(1:3,ih)
118 vhc(1:3,kh)=vhc_(1:3,ih)
126 deallocate(idx,ivh_,vhc_,hc_)
integer, dimension(maxsymcrys) lspnsymc
integer, dimension(3, 3, 48) symlat
pure subroutine i3mtv(a, x, y)
logical, dimension(maxsymcrys) tv0symc
subroutine gridsize(avec, gmaxvr, npfft, ngridg, ngtot, intgv)
real(8), dimension(:,:), allocatable vhc
integer, dimension(maxsymcrys) lsplsymc
real(8), dimension(3, 3) avec
pure subroutine sortidx(n, x, idx)
integer, dimension(:), allocatable mulh
real(8), dimension(3, 3) bvec
integer, dimension(2, 3) inthv
real(8), dimension(:), allocatable hc
integer, dimension(:,:), allocatable ivh
integer, dimension(3) ngridh