I think that your savety constant leads to negative c_sorbed in solve_conc.