OpenFOAM guide/SurfaceInterpolation (class)

From OpenFOAMWiki
This article is about the surfaceInterpolation class. For an overview of surface interpolation, see surfaceInterpolation.

surfaceInterpolation is a member of fvMesh, and is derived from the fvSchemes and fvSolution IOobjects. It calculates and provides access to the mesh weights, deltaCoeffs, and non-orthogonality correctionVectors.

The name of this class and the code comments imply that it handles the interpolation from volume fields to face fields, but it does not. However, the functions that do, such as surfaceInterpolate, depend on the fields it provides.

Mesh weights

The mesh weights, surfaceInterpolation::weights are calculated by surfaceInterpolation::makeWeights according to:

\lambda_i = \frac{\mathbf{Sf}_i \bullet \left ( \mathbf{C}_n - \mathbf{Cf}_i \right )}{\mathbf{Sf}_i \bullet \left ( \mathbf{Cf}_i - \mathbf{C}_o \right ) + \mathbf{Sf}_i \bullet \left ( \mathbf{C}_n - \mathbf{Cf}_i \right )}


  • i is the face index;
  • o and n are the owner and neighbour indices;
  • Sf is the surface area vector;
  • C is the location of the cell centre; and
  • Cf is the location of the face centre.