35 #ifndef Foam_interpolation_H 36 #define Foam_interpolation_H 78 virtual const word&
type()
const = 0;
100 const word& interpolationType,
138 const label facei = -1
149 const label facei = -1
169 #define makeInterpolationType(SS, Type) \ 171 defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ 173 interpolation<Type>::adddictionaryConstructorToTable<SS<Type>> \ 174 add##SS##Type##ConstructorToTable_; 177 #define makeInterpolation(SS) \ 179 makeInterpolationType(SS, scalar) \ 180 makeInterpolationType(SS, vector) \ 181 makeInterpolationType(SS, sphericalTensor) \ 182 makeInterpolationType(SS, symmTensor) \ 183 makeInterpolationType(SS, tensor) const GeometricField< Type, fvPatchField, volMesh > & psi_
A list of keyword definitions, which are a keyword followed by a number of values (eg...
static autoPtr< interpolation< Type > > New(const word &interpolationType, const GeometricField< Type, fvPatchField, volMesh > &psi)
Return a reference to the specified interpolation scheme.
virtual const word & type() const =0
Runtime type information.
Generic GeometricField class.
tetPointRef tet(const polyMesh &mesh) const
The tet geometry for this tet, where point0 is the cell centre.
Point barycentricToPoint(const barycentric &bary) const
Calculate the point from the given barycentric coordinates.
virtual Type interpolate(const vector &position, const label celli, const label facei=-1) const =0
Interpolate field to the given point in the given cell.
const vectorField & pMeshFaceCentres_
const vectorField & pMeshPoints_
label cell() const noexcept
Return the cell index.
A class for handling words, derived from Foam::string.
virtual ~interpolation()=default
Destructor.
const faceList & pMeshFaces_
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
declareRunTimeSelectionTable(autoPtr, interpolation, dictionary,(const GeometricField< Type, fvPatchField, volMesh > &psi),(psi))
PtrList< coordinateSystem > coordinates(solidRegions.size())
Abstract base class for volume field interpolation.
interpolation(const GeometricField< Type, fvPatchField, volMesh > &psi)
Construct from components.
const vectorField & pMeshFaceAreas_
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Macros to ease declaration of run-time selection tables.
const GeometricField< Type, fvPatchField, volMesh > & psi() const noexcept
Return the field to be interpolated.