The incompressible viscous flow over several non-smooth surfaces is simulated numerically by using the lattice Boltzmann method. A numerical strategy for dealing with a curved boundary with second-order accuracy for velocity field is presented. The drag evaluation is performed by the momentum-exchange method. The streamline contours are obtained over surfaces with different shapes, including circular concave, circular convex, triangular concave, triangular convex, regular sinusoidal wavy and irregular sinusoidal wavy, are obtained. The flow patterns are discussed in detail. The velocity profiles over different kinds of non-smooth surfaces are investigated. The numerical results show that the lattice Boltzmann method is reliable, accurate, easy to implement, and can provide valuable help for some engineering practices. (C) 2010 Elsevier Ltd. All rights reserved.