LW except chargeflow option
authorAnthony Stone <ajs1@cam.ac.uk>
Mon, 19 Nov 2018 11:35:36 +0000 (11:35 +0000)
committerAnthony Stone <ajs1@cam.ac.uk>
Tue, 20 Nov 2018 11:10:19 +0000 (11:10 +0000)
src/alphas.f90
x86-64/gfortran/exe/orient-5.0.07

index 592bf93..ceb76ea 100644 (file)
@@ -2310,7 +2310,7 @@ INTERFACE
   END SUBROUTINE hdiag
 END INTERFACE
 
-INTEGER :: i, j, k, l, ka, kb, kc, kd, lt, first, last, n, nb, pab,     &
+INTEGER :: i, j, k, l, ka, kb, kc, kd, lt, last, n, nb, pab,            &
      pcb, pdb, pbc, pbd, t, u, map(tops), pam(tops), size
 REAL(dp), ALLOCATABLE :: lambda(:), w(:,:), v(:,:), z(:,:), temp(:), umove(:)
 INTEGER, ALLOCATABLE :: bm(:,:) 
@@ -2380,24 +2380,22 @@ if (verbose) then
   call matwrt(z,ncols=8,fmt="8f10.5")
 end if
 
-if (no_flow) then
-  !  Don't localize charge-flows
-  first = 2
-else
-  first = 1
-end if
 if (only_flow) then
   last = 1
 else
   last = qsize(max_rank)
 end if
-if (first > last) then
+if (only_flow .and. no_flow) then
   print "(a)", "Localise LW: contradictory options for charge-flows"
   stop
 end if
 do t = 1,last
   lt = lq(t)
   do u = t,qsize(max_rank)
+    if (no_flow .and. u == 1) then
+      !  t == 1 also. Omit this case.
+      cycle
+    end if
     !  Find nonlocal polarizabilities alpha^ab_tu to be removed. These are
     !  for fixed t, u, with u >= t. We want to remove the non-local tu
     !  components by shifting alpha^at 'multipoles' to neighbouring sites.
index 3dc8ea4..27254de 100755 (executable)
Binary files a/x86-64/gfortran/exe/orient-5.0.07 and b/x86-64/gfortran/exe/orient-5.0.07 differ