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_;
91 multivariateSurfaceInterpolationScheme
93 const multivariateSurfaceInterpolationScheme&
97 void operator=(
const multivariateSurfaceInterpolationScheme&) =
delete;
103 virtual const word&
type()
const = 0;
111 multivariateSurfaceInterpolationScheme,
126 multivariateSurfaceInterpolationScheme
138 static tmp<multivariateSurfaceInterpolationScheme<Type>>
New
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)
A class for managing temporary objects.
Reference counter for various OpenFOAM components.
virtual const word & type() const =0
fieldScheme(const GeometricField< Type, fvPatchField, volMesh > &field)
bool insert(const Key &key, const T &obj)
virtual tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &field) const =0
void add(const GeometricField< Type, fvPatchField, volMesh > &f)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
virtual ~multivariateSurfaceInterpolationScheme()=default
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
Mesh data needed to do the Finite Volume discretisation.
A HashTable similar to std::unordered_map.
const fieldTable & fields() const
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Abstract base class for surface interpolation schemes.
const fvMesh & mesh() const
Generic GeometricField class.