def dX_dt(t, X):
    VX = [_settling_flux(x, self._v_max, self._v_max_p, X_min, self._rh, self._rp) for x in X]
    J = [(VX[j] if (X[(j + 1)] <= self._X_t) else min(VX[j], VX[(j + 1)])) for j in range((n - 1))]
    settle_out = np.array((J + [0]))
    settle_in = np.array(([0] + J))
    dXdt = ((settle_in - settle_out) / hj)
    return dXdt
def dX_dt(t, X):
    VX = [_settling_flux(x, self._v_max, self._v_max_p, X_min, self._rh, self._rp) for x in X]
    J = [(VX[j] if (X[(j + 1)] <= self._X_t) else min(VX[j], VX[(j + 1)])) for j in range((n - 1))]
    settle_out = np.array((J + [0]))
    settle_in = np.array(([0] + J))
    dXdt = ((settle_in - settle_out) / hj)
    return dXdt