The discretisation of a gradient is exclusively an explicit calculation using current values of . The conservative form of gradient calculation is based on a surface integral.
From the gradient deﬁnition in Sec. 2.23 , the discretisation is
While skewness is generally not a concern for advection discretisation, it deserves greater attention in gradient calculation. For “bad” meshes, e.g. containing elongated tetrahedral cells, the point linear scheme is often adopted to reduce skewness error.
Point linear interpolation uses: the value , calculated using linear interpolation, which corresponds to the “face point” at the intersection of the line connecting cell centres and the face; and, values at each vertex, interpolated from adjacent cells using inverse-distance weighting.
The scheme breaks the polygonal face into triangles and calculates the average value at the 2 vertices and face point for each triangle, area . Point interpolation calculates the face value as the area-weighted average of triangle values, i.e. .
A gradient calculation using a least squares ﬁnite diﬀerence method is sometimes used within the ﬁnite volume framework. The method calculates the gradient in a cell which, when used to extrapolate the cell value to centres of all neighbouring cells, minimises the error between extrapolated values and cell values.
For a given cell, a tensor is calculated by summing over faces using the inverse distance weighting , where is the cell centre-centre vector: