SurfaceInterpolation (class)

Материал из ru.wiki.laduga.ru
Перейти к: навигация, поиск

Эта статья посвящена классу surfaceInterpolation. Обзор интерполяции поверхности смотрите в разделе surfaceinterpolation.

surfaceInterpolation является членом fvMesh, и является производным от fvSchemes and fvSolution IOobjects. Он вычисляет и обеспечивает доступ к mesh weights, deltaCoeffs, и неортогональным correctionVectors.

Имя этого класса и комментарии к коду подразумевают, что он обрабатывает interpolation из полей объёма в поля граней, но это не так. Однако, функции, которые это делают, такие как surfaceInterpolate, зависят от полей, которые он предоставляет.

Ячейка весов

mesh weights, surfaceInterpolation::weights расчитывается по surfaceInterpolation::makeWeights согласно:

$ \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 - это индекс грани;
  • o и n - это индексы владельца и соседа;
  • Sf - это вектор площади поверхности;
  • C - это расположение центра ячейки; и
  • Cf - это расположение центра грани.