anchor.diff:    colloids% pos(3,:) = solvent_cells% edges(3)/2.d0
   
     if (order) then
  -     colloids% pos(1,1) = sigma_C*2**(1.d0/6.d0) + 1
  +     colloids% pos(1,1) = sigma_C*2**(1.d0/6.d0) + 1 + randomisation_length
        colloids% pos(1,2) = colloids% pos(1,1) + d
        colloids% pos(2,:) = solvent_cells% edges(2)/2.d0 + 1.5d0*maxval([sigma_C,sigma_N])
     else
  -     colloids% pos(1,2) = sigma_N*2**(1.d0/6.d0) + 1
  +     colloids% pos(1,2) = sigma_N*2**(1.d0/6.d0) + 1 + randomisation_length
        colloids% pos(1,1) = colloids% pos(1,2) + d
        colloids% pos(2,:) = solvent_cells% edges(2)/2.d0 + 1.5d0*maxval([sigma_C,sigma_N])
     end if
  
positive.code:         end if  
     
          if (on_track) then 
                if ((colloids% pos(1,1) > (bufferlength+sigma_C)) .and. (colloids% pos(1,2) > (bufferlength+sigma_N))) then
                   on_track = .false.
                   write(*,*) 'on_track', on_track
                end if
  
negative.code:   g = 0
    g(1) = PTread_d(config, 'g')
    bufferlength = PTread_i(config, 'buffer_length')
    randomisation_length = PTread_i(config, 'randomisation_length')
    max_speed = PTread_d(config,'max_speed')
    prob = PTread_d(config,'probability')
  
    number_of_angles = PTread_i(config, 'number_of_angles')
    L = PTread_ivec(config, 'L', 3)
    L(1) = L(1) + bufferlength + randomisation_length
    
    rho = PTread_i(config, 'rho')
    N = rho *L(1)*L(2)*L(3)
  