Numerical diffusion is a difficulty with
computer simulation
Computer simulation is the running of a mathematical model on a computer, the model being designed to represent the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determin ...
s of continua (such as
fluid
In physics, a fluid is a liquid, gas, or other material that may continuously motion, move and Deformation (physics), deform (''flow'') under an applied shear stress, or external force. They have zero shear modulus, or, in simpler terms, are M ...
s) 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. 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. 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 wave
In physics, a shock wave (also spelled shockwave), or shock, is a type of propagating disturbance that moves faster than the local speed of sound in the medium. Like an ordinary wave, a shock wave carries energy and can propagate through a me ...
s in fluids and
current sheets in
plasmas are infinitely thin in some approximations; 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.
When numerical diffusion applies to the components of the
momentum
In Newtonian mechanics, momentum (: momenta or momentums; more specifically linear momentum or translational momentum) is the product of the mass and velocity of an object. It is a vector quantity, possessing a magnitude and a direction. ...
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 air bubble (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
Medical Subject Headings (MeSH) is a comprehensive controlled vocabulary for the purpose of indexing journal articles and books in the life sciences. It serves as a thesaurus of index terms that facilitates searching. Created and updated by th ...
refining.
See also
*
False diffusion
False diffusion is a type of error observed when the upwind scheme is used to approximate the convection term in convection–diffusion equations. The more accurate Finite difference#central difference, central difference scheme can be used for th ...
*
Numerical dispersion
*
Numerical error In software engineering and mathematics, numerical error is the error in Numerical computation, the numerical computations.
Types
It can be the combined effect of two kinds of error in a calculation.
The first is referred to as Round-off error and ...
References
{{Reflist
Numerical artifacts
Numerical differential equations