SurfaceInterpolation
Эта статья посвящена семейству классов поверхностной интерполяции в 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