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:   call e_solvent% append(solvent% pos, 0, 0.d0)
    call e_solvent_v% append(solvent% vel, 0, 0.d0)
  
    do i = 1, 20
       call simple_mpcd_step(solvent, solvent_cells)
       v_com = sum(solvent% vel, dim=2) / size(solvent% vel, dim=2)
  
       solvent% pos = solvent% pos + 0.1 * solvent% vel
       do j= 1, 3
          solvent% pos(:, j) = modulo( solvent% pos(:, j), L(j)*1.d0 )
       end do
  
       call solvent% sort(solvent_cells)
       call e_solvent% append(solvent% pos, i, i*1.d0)
  
negative.code:   solvent% species = 1
    call solvent% random_placement(L*1.d0)
  
    call solvent_cells%init(L, 1.d0, .true.)
  
    call solvent_cells%count_particles(solvent% pos)
  
  