Vector fields appear in many science and engineering domains as well as computer graphics. In this talk, I will discuss numerical algorithms that allow the extraction and simplification of topology of a vector field defined on a 3D surface. Such algorithms can be used in computer graphics applications such as computer-generated arts and texture synthesis to remove or reduce the visual artifacts caused by singularities in the input vector field. We also apply our techniques to the visualization of CFD simulation datasets of gas and diesel engines.