11real(8),
intent(in) :: vhpl(3)
14integer ivh0(3),ivk0(3),ihk
15integer ivhb(3,0:1,0:1,0:1)
16integer ivkb(3,0:1,0:1,0:1)
17integer isym,lspl,ik,jk,i,j,k
18real(8) vpl(3),fb(0:1,0:1,0:1)
19real(8) f00,f01,f10,f11,f0,f1
20real(8) v0(3),v1(3),v2(3),t1,t2
23vpl(:)=vhpl(:)-dble(ivh0(:))
24v1(:)=vpl(:)*dble(
ngridk(:))
27do i=0,1;
do j=0,1;
do k=0,1
28 ivkb(1,i,j,k)=ivk0(1)+i
29 ivkb(2,i,j,k)=ivk0(2)+j
30 ivkb(3,i,j,k)=ivk0(3)+k
31 ivhb(:,i,j,k)=ivh0(:)+ivkb(:,i,j,k)/
ngridk(:)
32 ivkb(:,i,j,k)=modulo(ivkb(:,i,j,k),
ngridk(:))
35do i=0,1;
do j=0,1;
do k=0,1
38 jk=ivkiknr(ivkb(1,i,j,k),ivkb(2,i,j,k),ivkb(3,i,j,k))
40 v1(:)=dble(ivhb(:,i,j,k))+vkl(:,jk)
42 if ((i == 0).and.(j == 0).and.(k == 0)) v0(:)=v1(:)
44 v2(:)=bvec(:,1)*v1(1)+bvec(:,2)*v1(2)+bvec(:,3)*v1(3)
46 t1=sqrt(v2(1)**2+v2(2)**2+v2(3)**2)
52 v2(:)=symlat(1,:,lspl)*v1(1)+symlat(2,:,lspl)*v1(2)+symlat(3,:,lspl)*v1(3)
55 t1=abs(v2(1)-vhkl(1,ihk,1,ik)) &
56 +abs(v2(2)-vhkl(2,ihk,1,ik)) &
57 +abs(v2(3)-vhkl(3,ihk,1,ik))
59 fb(i,j,k)=rfhk(ihk,ik)
65t2=(vhpl(1)-v0(1))*dble(ngridk(1))
67f00=fb(0,0,0)*t1+fb(1,0,0)*t2
68f01=fb(0,0,1)*t1+fb(1,0,1)*t2
69f10=fb(0,1,0)*t1+fb(1,1,0)*t2
70f11=fb(0,1,1)*t1+fb(1,1,1)*t2
71t2=(vhpl(2)-v0(2))*dble(ngridk(2))
75t2=(vhpl(3)-v0(3))*dble(ngridk(3))
integer, dimension(3) ngridk