anchor.diff:    integer, parameter :: N = 2000
   
     integer :: i, L(3), seed_size, clock, error
  -  integer :: j
     integer, allocatable :: seed(:)
   
  -  double precision :: v_com(3)
  +  double precision :: v_com(3), wall_v(3,2)
   
     call random_seed(size = seed_size)
     allocate(seed(seed_size))
  
positive.code:   solvent% species = 1
    call solvent% random_placement(L*1.d0)
  
    call solvent_cells%init(L, 1.d0)
  
    call solvent_cells%count_particles(solvent% pos)
  
  
negative.code:     else
         found = .false.
         do while (.not. found)
            u1 = 2*genrand_real1(state) - 1
            u2 = 2*genrand_real1(state) - 1
            radius = (u1**2+u2**2)
            if ( ( radius < 1 ) .and. (radius > 0) ) found = .true.
         end do
  