8.5 Numerical dissipation
The use of numerical dissipation consistently with the underlying system of equations is a standard way
of filtering unresolved modes, stabilizing a scheme, or both, without spoiling the convergence order of the
scheme. As an example of unresolved modes, for centered differences, the mode with highest
frequency for any given resolution does not propagate at all, while the semi-discrete group velocity
with highest frequency is exactly in the opposite direction to the one at the continuum. In
addition, the speed increases with the order of the scheme. See, for example, [281
], for more
details.
Some schemes, such as those with upwind FDs, are intrinsically dissipative, with a fixed “amount” of
dissipation for a given resolution. Another approach is to add to the discretization a dissipative operator
with a tunable strength factor
,
The operator
has derivatives of higher order than the ones in the principal part of the equation,
mimicking dissipative physical systems and/or parabolic equations but in such a way that
as
. Furthermore,
is usually chosen so that
scales with the gridspacing as the highest FD
approximation (so that the amplification factor depends only on
). For example, for
first-order-in-space systems, FDs scale as
and
is usually chosen to scale in the same way. More precisely, in the absence of boundaries the
standard way to add numerical dissipation to a first-order-in-space system is through Kreiss–Oliger
dissipation
where
denotes the application of
times and
denote forward and backward
one-sided FDs, respectively, as defined in Eq. (7.70). Thus,
scales with the gridspacing as
, like Eq. (8.52). If the accuracy order of the scheme is not higher than
in
the absence of dissipation, it is not decreased by the addition of numerical dissipation of the
form (8.53).
The main property that sometimes allows numerical dissipation to stabilize otherwise unstable schemes
is when they strictly carry away energy (as in the energy definitions involved in well-posedness or
numerical-stability analysis) from the system. For example, the operators (8.53) are semi-negative definite
with respect to the trivial scalar product
, under which centered differences satisfy
SBP.
In the presence of boundaries, it is standard to simply set the operators (8.53) to zero near them. The
result is, in general, not semi-negative definite as in (8.54), which cannot only not help resolve instabilities
but also trigger them. Many times this is not the case in practice if the boundary is an outer
one, where the solution is weak, but not for inter-domain boundaries (see Section 10). For
example, for a discretization of the standard wave equation on a multi-domain, curvilinear
grid setting, using the
SBP operator with Kreiss–Oliger dissipation set to zero near
interpatch boundaries does not lead to stability while the more elaborate construction below
does [141
].
For SBP-based schemes, adding artificial dissipation may lead to an unstable scheme unless the
dissipation operator is semi-negative under the SBP scalar product. In addition, the dissipation operator
should ideally be non-vanishing all the way up to the boundary and preserve the accuracy of the scheme
everywhere (which is more difficult in the SBP case, as it is non-uniform). In [303
], a prescription for
operators satisfying both conditions for arbitrary–high-order SBP scalar products, is presented. A
compatible dissipation operator is constructed as
where
is the SBP scalar product,
is a consistent approximation of
with minimal
bandwidth (other choices are presumably possible), and
is called the boundary operator. The latter has
to be positive semi-definite and its role is to allow boundary points to be treated differently from interior
points.
cannot be chosen freely, but has to follow certain restrictions (which become somewhat
involved in the non-diagonal SBP case) based on preserving the accuracy of the schemes near and at
boundaries; see [303] for more details.