anchor.diff:    integer :: error
     double precision :: number_of_angles
     double precision, allocatable :: conc_z(:,:)
  -  double precision :: conc_z_cyl(400)   
  +  double precision :: conc_z_cyl(90)   
   
     double precision :: sigma_N, sigma_C, max_cut
     double precision :: epsilon(3,2), shift
  
positive.code:         fixed = .false.
       end if
       if (.not. on_track) then
          if (modulo(i,50)==0) then
             call concentration_field_cylindrical
             write(18,*) conc_z, colloid_pos
           end if
  
negative.code:   subroutine concentration_field_cylindrical
      double precision :: dimer_orient(3),x(3),y(3),z(3)
      double precision :: solvent_pos(3,solvent% Nmax)
      double precision :: dz,r,theta,x_pos,y_pos,z_pos,number_of_bins
      integer :: o
      integer :: check
      logical :: far_enough_from_wall
      double precision :: range_min1(3),range_min2(3),range_max1(3),range_max2(3)
      
      number_of_bins = 90.d0
      dz = 2.d0*d/number_of_bins
      dimer_orient = colloids% pos(:,2) - colloids% pos(:,1)
      z = dimer_orient/sqrt(dot_product(dimer_orient,dimer_orient))
     
      x = (/0.d0, 1.d0, -dimer_orient(2)/dimer_orient(3)/)
      x = x/sqrt(dot_product(x,x))
      y = (/z(2)*x(3)-z(3)*x(2),z(3)*x(1)-z(1)*x(3),z(1)*x(2)-z(2)*x(1)/)
      conc_z_cyl = 0
  
      range_min1 = colloids%pos(:,1) - d/2.0*z - (/0.d0,0.d0,1.d0/)*2*max_cut
      range_min2 = colloids%pos(:,1) - d/2.0*z + (/0.d0,0.d0,1.d0/)*2*max_cut
      range_max1 = colloids%pos(:,1) + 3.d0*d/2.0*z - (/0.d0,0.d0,1.d0/)*2*max_cut
      range_max2 = colloids%pos(:,1) - 3.d0*d/2.0*z + (/0.d0,0.d0,1.d0/)*2*max_cut
  
      if ( (range_min1(3)<solvent_cells%edges(3)).and.(range_min1(3)>0).and. &
         (range_max1(3)<solvent_cells%edges(3)).and.(range_max1(3)>0).and. &
         (range_min2(3)<solvent_cells%edges(3)).and.(range_min2(3)>0).and. &
         (range_max2(3)<solvent_cells%edges(3)).and.(range_max2(3)>0) ) then
         far_enough_from_wall = .true.
      else
         far_enough_from_wall = .false.
  