SurfaceInterpolation

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

Эта статья посвящена семейству классов поверхностной интерполяции в libfiniteVolume. Сам класс surfaceInterpolation смотрите в разделе surfaceInterpolation (class). Классы surfaceInterpolation, реализованные в библиотеке конечных объёмов, выполняют interpolation от полей объёма к полям граней, критический расчёт в процессе discretization метода finite volume method, особенно для совместно расположенных сеток, как это используется OpenFOAM. OpenFOAM реализует десятки различных схем для этой операции. Этот вид interpolation обозначается:

$ \left . \boldsymbol \Phi \right \vert_{v \to f} $ Обозначения, используемые Marupio в этой wiki

Схемы

Схемы выбираются в файле и загружаются с помощью runTime selection. Существует более 50-ти схем, доступных в OpenFOAM-extend, включающих:

  • QUICK - квадратичная противопоточная (upwind) интерполяция;
  • linear - центральная разностная схема;
  • upwind - противопоточная (upwind) разностная схема; и
  • skewCorrected - косая схема с противопоточной (upwind) стороны.

Они выбираются в fvSchemes. Список всех доступных схем для установки смотрите в use bananas.

Компоненты

Важные компоненты интерполяции поверхности включают в себя:

  • surfaceInterpolation - сам класс;
  • surfaceInterpolate - методы interpolation, предоставляемые в пространстве имён;
  • surfaceInterpolationScheme - универсальный класс, который используется для взаимодействия со всеми производными схемами интерполяции (т.е. это базовый класс RTS base class); и
  • производные классы surfaceInterpolation.

Код

Функция интерполяции interpolate находится в surfaceInterpolate, и доступна в пространстве имён fvc:

fvc::interpolate(phi);

linear включена явно в файл fvCFD.H, который находится на верхнем уровне большинства решателей. Специально для принудительной линейной interpolation:

linearInterpolate(phi);

Поток скорости, (phi in OpenFOAM) вычисляется с помощью surfaceInterpolation по умолчанию (при использовании #include "createPhi.H").

Ссылка на оригинал - http://openfoamwiki.net/index.php/OpenFOAM_guide/SurfaceInterpolation