为了更好地求解氧扩散问题,给出了一种半光滑牛顿算法。首先在离散格式上采用Crank-Nicolson方法,其次在迭代算法上使用非线性互补函数,将求解非线性互补问题转化为求解基于非线性互补函数的半光滑方程组,进而用广义牛顿法求解,避免约束条件带来的计算困难。最后给出该算法在满足超线性收敛条件下的数值实验结果,验证该算法对解决氧扩散问题的可行性。