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(:),ivh0(:,:)
18 real(8),
allocatable :: vhc0(:,:),hc0(:)
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(:)=dble(i1)*
bvec(:,1)
37 v2(:)=v1(:)+dble(i2)*
bvec(:,2)
39 v3(:)=v2(:)+dble(i3)*
bvec(:,3)
48 hc0(ih)=sqrt(v3(1)**2+v3(2)**2+v3(3)**2)
78 sym(:,:,nsym)=
symlat(:,:,isym)
91 sym(:,:,nsym)=
symlat(:,:,isym)
107 call i3mtv(sym(:,:,isym),ivh0(:,ih),iv(:))
109 k=abs(
ivh(1,jh)-iv(1))+abs(
ivh(2,jh)-iv(2))+abs(
ivh(3,jh)-iv(3))
131 deallocate(idx,ivh0,vhc0,hc0)
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