28 integer i1,i2,i3,j1,j2,j3
29 real(8) v1(3),v2(3),v3(3)
31 integer,
allocatable :: idx(:),ivg_(:,:)
32 real(8),
allocatable :: vgc_(:,:),gc_(:)
46 v1(1:3)=dble(i1)*
bvec(1:3,1)
48 v2(1:3)=v1(1:3)+dble(i2)*
bvec(1:3,2)
50 v3(1:3)=v2(1:3)+dble(i3)*
bvec(1:3,3)
53 ivg_(1,ig)=i1; ivg_(2,ig)=i2; ivg_(3,ig)=i3
57 gc_(ig)=sqrt(v3(1)**2+v3(2)**2+v3(3)**2)
73 if (
allocated(
ivg))
deallocate(
ivg)
75 if (
allocated(
vgc))
deallocate(
vgc)
77 if (
allocated(
gc))
deallocate(
gc)
82 ivg(1:3,ig)=ivg_(1:3,jg)
83 vgc(1:3,ig)=vgc_(1:3,jg)
86 deallocate(idx,ivg_,vgc_,gc_)
120 ifg=j3*
ngridg(2)*n1+j2*n1+j1+1
integer, dimension(3) ngridg
integer, dimension(:,:,:), allocatable ivgig
real(8), dimension(:,:), allocatable vgc
integer, dimension(:), allocatable igrzf
integer, dimension(:), allocatable igfft
subroutine gridsize(avec, gmaxvr, npfft, ngridg, ngtot, intgv)
real(8), dimension(3, 3) avec
pure subroutine sortidx(n, x, idx)
real(8), dimension(3, 3) bvec
integer, dimension(:,:), allocatable ivg
integer, dimension(2, 3) intgv
real(8), dimension(:), allocatable gc