3.16 Gradient limiting
The standard gradient calculation can generate values with an unphysically large magnitude when cell quality is poor. A large gradient value in one cell can contribute sufficiently to the source term of an equation to cause unboundedness in the solution.
The calculated gradient can be limited to avoid unphysical values. The limiting extrapolates the cell values using the gradient to all neighbouring face centres. If the extrapolated at a face falls outside of the bounds of at neighbouring cell centres, the gradient is adjusted to match the bounding value.
This numerical scheme has an advantage that is takes into account all surrounding cells so is fully “multi-dimensional”. It ensures boundedness locally between cells so can help eliminate instabilities in advection discretisation.
Linear upwind with gradient limiting
Limiting can be applied to the cell gradient in the explicit contribution of the linear upwind advection scheme, described in Sec. 3.14 . The scheme with gradient limiting is analysed below for its TVD behaviour on a regular mesh in 1D.
In the following figure, the cell gradient is denoted by “” and the face gradient is denoted by “”. The ratio of gradients is from Eq. (3.12 ), which is adjusted by modifying . No limiting is applied for , when can be expressed by with . In that case, , corresponding to a function .
Limiting is applied for , reducing the gradient linearly to zero as . This corresponds to a function for . Similarly, limiting is applied when . Within that range, so .
On a Sweby diagram linear upwind with gradient limiting is TVD, with the line being the regime with no gradient limiting.
This function uses too much downwind interpolation to be a reliable TVD scheme for advection. However, as a gradient limiter for the linear upwind scheme, it is strongly bounded, due to the multi-dimensional nature of gradient limiting — with good accuracy due to the skewness correction in linear upwind.