Numerical diffusion is a difficulty with computer simulations of continua (such as fluids) wherein the simulated medium exhibits a higher diffusivity than the true medium. This phenomenon can be particularly egregious when the system should not be diffusive at all, for example an ideal fluid acquiring some spurious viscosity in a numerical model.
Explanation
In Eulerian simulations, time and space are divided into a discrete grid and the continuous differential equations of motion (such as the Navier–Stokes equation) are discretized into finite-difference equations.[1] The discrete equations are in general more diffusive than the original differential equations, so that the simulated system behaves differently than the intended physical system.[2] The amount and character of the difference depends on the system being simulated and the type of discretization that is used. Most fluid dynamics or magnetohydrodynamic simulations seek to reduce numerical diffusion to the minimum possible, to achieve high fidelity — but under certain circumstances diffusion is added deliberately into the system to avoid singularities. For example, shock waves in fluids and current sheets in plasmas are in some approximations infinitely thin; this can cause difficulty for numerical codes. A simple way to avoid the difficulty is to add diffusion that smooths out the shock or current sheet. Higher order numerical methods (including spectral methods) tend to have less numerical diffusion than low order methods.
Example
As an example of numerical diffusion, consider an Eulerian simulation using an explicit time-advance of a drop of green dye diffusing through water. If the water is flowing diagonally through the simulation grid, then it is impossible to move the dye in the exact direction of the flow: at each time step the simulation can at best transfer some dye in each of the vertical and horizontal directions. After a few time steps, the dye will have spread out through the grid due to this sideways transfer. This numerical effect takes the form of an extra high diffusion rate.[3]
When numerical diffusion applies to the components of the momentum vector, it is called numerical viscosity; when it applies to a magnetic field, it is called numerical resistivity.
Consider a Phasefield-problem with a high pressure loaded airbubble(blue) within a phase of water. Since there are no chemical or thermodynamical reactions during expansion of air in water there is no possibility to come up with another (i.e. non red or blue) phase during the simulation. These inaccuracies between single phases are based on numerical diffusion and can be decreased by mesh refining.