11complex(8),
intent(in) :: dq(nbph,nbph,nqpt)
12real(8),
intent(out) :: dr(nbph,nbph,nqptnr)
16integer i1,i2,i3,j1,j2,j3
17real(8) v1(3),v2(3),s(3,3),t1
20complex(8) dqs(nbph,nbph)
22intr(1,:)=intr(2,:)-
ngridq(:)+1
26 v1(1)=dble(j1)/dble(
ngridq(1))
28 v1(2)=dble(j2)/dble(
ngridq(2))
30 v1(3)=dble(j3)/dble(
ngridq(3))
39 s(:,:)=dble(
symlat(:,:,lspl))
42 t1=abs(v1(1)-v2(1))+abs(v1(2)-v2(2))+abs(v1(3)-v2(3))
50 write(*,
'("Error(dynqtor): vector ",3G18.10)') v1
51 write(*,
'(" cannot be mapped to reduced q-point set")')
61 do i3=intr(1,3),intr(2,3)
62 do i2=intr(1,2),intr(2,2)
63 do i1=intr(1,1),intr(2,1)
65 t1=
twopi*(v1(1)*dble(i1)+v1(2)*dble(i2)+v1(3)*dble(i3))
66 z1=cmplx(cos(t1),sin(t1),8)
67 dr(:,:,ir)=dr(:,:,ir)+dble(z1*dqs(:,:))
real(8), dimension(3, 3) bvec
integer, dimension(:,:,:), allocatable ivqiq
real(8), dimension(:,:), allocatable vql
integer, dimension(3, 3, 48) symlat
integer, dimension(3) ngridq
integer, dimension(maxsymcrys) lsplsymc