35 #ifndef interpolation_H
36 #define interpolation_H
102 const label facei = -1
110 const labelList& facei = NullObjectRef<labelList>()
121 const label facei = -1
131 const labelList& facei = NullObjectRef<labelList>()
156 virtual const word&
type()
const = 0;
178 const label facei = -1
186 const labelList& facei = NullObjectRef<labelList>()
197 const label facei = -1
207 const labelList& facei = NullObjectRef<labelList>()
218 typename std::conditional
264 const word& interpolationType,
294 template<
class Type,
class InterpolationType>
317 const labelList& facei = NullObjectRef<labelList>()
327 const labelList& facei = NullObjectRef<labelList>()
336 template<
class Type,
class InterpolationType>
348 fieldInterpolationBase;
361 const labelList& facei = NullObjectRef<labelList>()
371 const labelList& facei = NullObjectRef<labelList>()
380 template<
class Type,
class InterpolationType>
382 typename std::conditional
394 template<
class Type,
class InterpolationType>
420 #define makeInterpolation(Type, InterpolationType) \
422 defineNamedTemplateTypeNameAndDebug(InterpolationType<Type>, 0); \
424 addTemplatedToRunTimeSelectionTable \
Generic GeometricField class.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
virtual tmp< Field< Type > > interpolate(const vectorField &position, const labelList &celli, const labelList &facei=NullObjectRef< labelList >()) const
Interpolate to the points in the given cells.
virtual tmp< Field< interpolationGradType< Type > > > interpolateGrad(const vectorField &position, const labelList &celli, const labelList &facei=NullObjectRef< labelList >()) const
Interpolate the gradient to the points in the given cells.
virtual ~interpolationBase()
Destructor.
const VolField< Type > & psi() const
Return the field to be interpolated.
const VolField< Type > & psi_
The vol field to interpolate.
interpolationBase(const VolField< Type > &psi)
Construct from components.
const polyMesh & mesh_
Reference to the mesh.
virtual Type interpolate(const vector &position, const label celli, const label facei=-1) const =0
Interpolate to the given point in the given cell.
virtual const word & type() const =0
Runtime type information.
outerProduct< Type, vector >::type GradType
The type of the interpolated gradient.
virtual ~interpolationGradBase()
Destructor.
virtual interpolationGradType< Type > interpolateGrad(const vector &position, const label celli, const label facei=-1) const
Interpolate the gradient to the given point in the given cell.
Abstract base class for interpolation.
static autoPtr< interpolation< Type > > New(const word &interpolationType, const VolField< Type > &psi)
Return a reference to the specified interpolation scheme.
virtual autoPtr< interpolation< Type > > clone() const =0
Clone.
virtual ~interpolation()
Destructor.
declareRunTimeSelectionTable(autoPtr, interpolation, dictionary,(const VolField< Type > &psi),(psi))
TypeName("interpolation")
Runtime type information.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Traits class for primitives.
Mesh consisting of general polyhedral cells.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
A class for managing temporary objects.
A class for handling words, derived from string.
const volScalarField & psi
barycentric coordinates(const polyMesh &mesh, const point &position, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the coordinates given the position and tet topology.
point position(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the position given the coordinates and tet topology.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
typename outerProduct< Type, vector >::type interpolationGradType
typename std::conditional<(pTraits< Type >::rank > 1), fieldInterpolationBase< Type, InterpolationType >, fieldInterpolationGradBase< Type, InterpolationType > >::type fieldInterpolationBaseOrGradBase
typename std::conditional<(pTraits< Type >::rank > 1), interpolationBase< Type >, interpolationGradBase< Type > >::type interpolationBaseOrGradBase
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Macros to ease declaration of run-time selection tables.