11integer,
intent(in) :: iq
12integer,
intent(out) :: nsc
13real(8),
intent(out) :: vsc(3,nqptnr)
33 t1=dble(i1)*
vql(1,iq)+dble(i2)*
vql(2,iq)+dble(i3)*
vql(3,iq)
34 if (abs(t1-nint(t1)) <
epslat)
then
36 t1=sqrt(v1(1)**2+v1(2)**2+v1(3)**2)
37 if ((t1 < dmin).and.(t1 >
epslat))
then
52 t1=dble(i1)*
vql(1,iq)+dble(i2)*
vql(2,iq)+dble(i3)*
vql(3,iq)
53 if (abs(t1-nint(t1)) <
epslat)
then
55 n=(i2*scl(3,1)-i3*scl(2,1))**2 &
56 +(i3*scl(1,1)-i1*scl(3,1))**2 &
57 +(i1*scl(2,1)-i2*scl(1,1))**2
60 t1=v1(1)**2+v1(2)**2+v1(3)**2
78 t1=dble(i1)*
vql(1,iq)+dble(i2)*
vql(2,iq)+dble(i3)*
vql(3,iq)
79 if (abs(t1-nint(t1)) <
epslat)
then
81 n=scl(1,2)*(i2*scl(3,1)-i3*scl(2,1)) &
82 +scl(2,2)*(i3*scl(1,1)-i1*scl(3,1)) &
83 +scl(3,2)*(i1*scl(2,1)-i2*scl(1,1))
86 t1=v1(1)**2+v1(2)**2+v1(3)**2
104 +dble(scl(2,i))*
avec0(:,2) &
105 +dble(scl(3,i))*
avec0(:,3)
121 t1=abs(v1(1)-vsc(1,i))+abs(v1(2)-vsc(2,i))+abs(v1(3)-vsc(3,i))
132write(*,
'("Error(findscq): unable to generate supercell")')
real(8), dimension(3, 3) avec0
real(8), dimension(3, 3) avec
real(8), dimension(:,:), allocatable vql
real(8), dimension(3, 3) ainv
integer, dimension(3) ngridq