anchor.diff:    T = PTread_d(config, 'T', loc=params_group)
     link_d = PTread_dvec(config, 'link_d', 2, loc=params_group)
     link_angles = PTread_dvec(config, 'link_angles', 2, loc=params_group)
  -  link_angle = link_angles(1)
     elastic_k = PTread_d(config, 'elastic_k', loc=params_group)
     angle_k = PTread_d(config, 'angle_k', loc=params_group)
   
  
positive.code: 
       end do md_loop
  
       if (i>equilibration_loops) call select_substrate
  
       if (i*N_MD_steps*dt > next_reaction_time) then
          if (threefry_double(state(1)) < rate_release_s / total_rate) then
             ! release substrate
             call unbind_molecule(1)
          else
             ! release product
             call unbind_molecule(2)
          end if
          next_reaction_time = huge(next_reaction_time)
       end if
  
       call varia%tic()
  
  
negative.code:         call varia%tic()
          do k=1, colloids% Nmax
             colloids% vel(:,k) = colloids% vel(:,k) + &
               dt * ( colloids% force(:,k) + colloids% force_old(:,k) ) / (2 * colloids%mass(k))
          end do
          call varia%tac()
  
  