Abstract:A contact algorithm which describes the contact interaction between SPH particles by means of Riemann solution was used to calculate the discontinuity of the variables defining the one-dimension fluxes. A weak wave approximation of the Riemann solver was adopted to deal with the weak discontinuity, while the non-iterative Riemann solution was introduced in strong discontinuity. Furthermore Taylor series was used to improve the calculation accuracy on the free boundary. In this case, there was no need to use artificial viscosity for the numerical viscosity of the new SPH algorithm. Compared with the original algorithm, the simulation results show that the modified contact algorithm has a good description of strong discontinuity, and improvement in dealing with the free surface.