anchor.diff:            call dsntdqagse(integrand,vdist_over_u,umin,umax, &
             epsabs,epsrel,limit,u_int_res(ri),abserr,neval,ier,alist,blist,rlist,elist,iord,last)
             u_int_res(ri) = u_int_res(ri) * 2.d0 * sigma_N * NAvo * tab_starrho(ri)*tab_mfr(ri,eli) * (muplus/mx_in)**2
  -          capped = capped + tab_r(ri)**2*u_int_res(ri)*tab_dr(ri)
  -          capiso(eli) = capiso(eli) + tab_r(ri)**2*u_int_res(ri)*tab_dr(ri)
  +          if (capped .lt. maxcapped) then
  +            capped = capped + tab_r(ri)**2*u_int_res(ri)*tab_dr(ri)
  +            capiso(eli) = capiso(eli) + tab_r(ri)**2*u_int_res(ri)*tab_dr(ri)
  +          else
  +            capped = maxcapped
  +          endif
   
             if (isnan(capped)) then
               capped = 0.d0
  
positive.code:         print*,"infinite amount of dark matter in the Sun. Best to look into that."
        end if
  
        maxcapped = maxcap(mx_in)
        if (capped .gt. maxcapped) then
          capped = maxcapped
        end if
      end subroutine captn_general
  
  
  
negative.code:         end do
  
        end do
  
        capped = 4.d0*pi*Rsun**3*capped
        capiso(:) = 4.d0*pi*Rsun**3*capiso(:)
  