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 154 const fvMesh&
mesh()
const 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)
virtual ~multivariateSurfaceInterpolationScheme()=default
Destructor.
Reference counter for various OpenFOAM components.
declareRunTimeSelectionTable(tmp, multivariateSurfaceInterpolationScheme, Istream,(const fvMesh &mesh, const fieldTable &fields, const surfaceScalarField &faceFlux, Istream &is),(mesh, fields, faceFlux, is))
const word & name() const noexcept
Return the object name.
const fvMesh & mesh() const
Return mesh reference.
const fieldTable & fields() const
Return fields to be interpolated.
Generic GeometricField class.
const fvMesh & mesh() const
Return mesh reference.
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.
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 HashTable similar to std::unordered_map.
virtual const word & type() const =0
Runtime type information.
Abstract base class for multi-variate surface interpolation schemes.
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
fieldScheme(const GeometricField< Type, fvPatchField, volMesh > &field)
void add(const GeometricField< Type, fvPatchField, volMesh > &f)
Abstract base class for surface interpolation schemes.