## 1 Introduction  
Discontinuity is a very common phenomenon in fluid flow. For example, high speed fluids can produce shock waves when they pass from subsonic to supersonic speeds. Another example is the separation of two fluids of different materials by a thin film, which can also produce a discontinuity when the film is pulled out. Discontinuities are also commonly found in convection-dominated flows, and this type of discontinuity plays a very important role in fluid dynamics. Therefore, extensive research was carried out [1; 2; 3; 4; 5]. At present, in computational fluid dynamics, dealing with shock wave problems is mainly achieved by directly solving Navier-Stokes equations by increasing the computing power of the computer, such as quantum computing [6], or solving molecular dynamics problems [7; 8]. However, such calculation conditions are difficult to achieve in engineering. The Methods commonly used in engineering will be discussed in detail later. There are several numerical methods commonly used at present. The finite element method (FEM) is a numerical method that discretizes the entire problem area into units, constructs interpolation functions on the units, and solves the unknowns by Galerkin method and the principle of variation. The finite element method is a very good method for continuous solids. However, in order to solve the solid with cracks and discontinuities, the finite element method needs to refine the mesh during the solution process, which is not only complicated, but also loses accuracy. In addition, because finite elements cannot satisfy the law of conservation of mass in the element, it is not convenient to be applied in the field of fluids. The finite difference method (FDM) is a numerical method that directly differentiates and discretizes the strong form of the original equation. Because the finite difference method directly discretizes the equation, although it can be applied in the field of fluids, it requires a relatively regular solution area. For complex boundary problems, the finite difference method is not easy to use. The finite volume method (FVM) is a numerical method that uses conservation of momentum and conservation of mass to construct equations based on each volume cell. The finite volume method has the same discrete format and the same accuracy as the finite difference method in the case of a regular grid. However, compared with the finite difference method, the finite volume method can solve the problems in complex regions and complex boundary conditions, while losing a small amount of accuracy. The finite volume method is also one of the most commonly used methods in computational fluid dynamics. Numerical discontinuity is very common in computational mechanics. The one type of discontinuity is material discontinuity, such as cracks, material interfaces, voids. In addition, another type is numerical discontinuity such as shock waves in hydrodynamics. The traditional methods mentioned above are all based on continuity hypotheses, in which the displacement and the density are continuous. For the approximation of non-smooth solution, the above methods will result in big errors near singularities, leading to false high gradients. In order to achieve higher accuracy, a very dense deployment of elements or points must be set at the singularities. However, any effort to study fluid dynamics by numerical simulations must face great challenges in order to get solutions with high accuracy and stability around discontinuities. Finite volume method and finite difference method are commonly used methods of computational fluid dynamics. There are still many problems about FVM and FDM to be resolved: (1) The FVM mesh must be consistent with the discontinuities; (2) The discontinuity is moving during the process of shock wave propagation Special techniques known as artificial dissipation or limiting projection have to be designed in order to avoid the \"Gibbs\" phenomenon caused by higher order interpolation and its accompanying spurious numerical oscillation.