anchor.diff: -      module simmetrix_snap
  -      use iso_c_binding
  -
  -      interface
  -        subroutine sim_closest_pos ( dx, dy, dz, id )
  -     &    bind(C, NAME='sim_closest_pos')
  -        use iso_c_binding
  -          real(c_double), value :: dx, dy, dz
  -          integer(c_int), value :: id
  -        end subroutine
  -
  +c      module simmetrix_snap
  +c      use iso_c_binding
  +c
  +c      interface
  +c        subroutine sim_closest_pos ( dx, dy, dz, id )
  +c     &    bind(C, NAME='sim_closest_pos')
  +c        use iso_c_binding
  +c          real(c_double), value :: dx, dy, dz
  +c          integer(c_int), value :: id
  +c        end subroutine
  +c
   c        subroutine get_model_velocity (v)
   c     &    bind(C, NAME='get_model_velocity')
   c        use iso_c_binding
   c          real(c_double) :: v
   c        end subroutine
  -      end interface
  -
  -      end module
  +c      end interface
  +c
  +c      end module
   c
   c----------------------------------------------------------------------
   c
  
positive.code: c... current x
              x_tmp(:) = x(i,:) + disp_snap(i,:)
  c... correct x
              call sim_closest_pos (disp_snap(i,1), disp_snap(i,2),
       &                            disp_snap(i,3), i)
  c... hardcoding; we should use simmetrix V_movedParamPoint to do this
  c            mag = sqrt(x_tmp(2)*x_tmp(2) + x_tmp(3)*x_tmp(3)) ! cylinder axis is x
  c            rad = 0.05
  c            x_crt(2) = x_tmp(2) / mag * rad
  c            x_crt(3) = x_tmp(3) / mag * rad
  c... end hardcoding
  c... update iBC and BC
              iBC(i) = ibset(iBC(i), 14)
  
negative.code:         subroutine resetSnapBC ( x,       disp_snap,
       &                           iBC,     BC,     surfID_snap)
  c
  c        use iso_c_binding
  c        use simmetrix_snap
  c
          include "common.h"
  c
  