Go to the documentation of this file.
37 #ifndef multivariateSurfaceInterpolationScheme_H
38 #define multivariateSurfaceInterpolationScheme_H
63 public HashTable<const GeometricField<Type, fvPatchField, volMesh>*>
85 const fieldTable& fields_;
103 virtual const word&
type()
const = 0;
160 const fieldTable&
fields()
const
212 #define makeMultivariateSurfaceInterpolationTypeScheme(SS, Type) \
214 defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \
216 multivariateSurfaceInterpolationScheme<Type>:: \
217 addIstreamConstructorToTable<SS<Type>> \
218 add##SS##Type##ConstructorToTable_;
221 #define makeMultivariateSurfaceInterpolationScheme(SS) \
223 makeMultivariateSurfaceInterpolationTypeScheme(SS, scalar) \
224 makeMultivariateSurfaceInterpolationTypeScheme(SS, vector) \
225 makeMultivariateSurfaceInterpolationTypeScheme(SS, sphericalTensor) \
226 makeMultivariateSurfaceInterpolationTypeScheme(SS, symmTensor) \
227 makeMultivariateSurfaceInterpolationTypeScheme(SS, tensor)
A class for handling words, derived from Foam::string.
static tmp< multivariateSurfaceInterpolationScheme< Type > > New(const fvMesh &mesh, const fieldTable &fields, const surfaceScalarField &faceFlux, Istream &schemeData)
Return a pointer to a new gradScheme created on freestore.
A class for managing temporary objects.
Reference counter for various OpenFOAM components.
virtual const word & type() const =0
Runtime type information.
fieldScheme(const GeometricField< Type, fvPatchField, volMesh > &field)
bool insert(const word &key, const const GeometricField< Type, fvPatchField, volMesh > * &obj)
Copy insert a new entry, not overwriting existing entries.
virtual tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &field) const =0
Return the interpolation weighting factors.
void add(const GeometricField< Type, fvPatchField, volMesh > &f)
surfaceInterpolationScheme sub-class returned by operator(field)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
virtual ~multivariateSurfaceInterpolationScheme()=default
Destructor.
declareRunTimeSelectionTable(tmp, multivariateSurfaceInterpolationScheme, Istream,(const fvMesh &mesh, const fieldTable &fields, const surfaceScalarField &faceFlux, Istream &is),(mesh, fields, faceFlux, is))
Abstract base class for multi-variate surface interpolation schemes.
const fvMesh & mesh() const
Return mesh reference.
Mesh data needed to do the Finite Volume discretisation.
A HashTable similar to std::unordered_map.
const fieldTable & fields() const
Return fields to be interpolated.
Abstract base class for surface interpolation schemes.
const fvMesh & mesh() const
Return mesh reference.