36 #ifndef multivariateScheme_H 37 #define multivariateScheme_H 51 template<
class Type,
class Scheme>
55 public Scheme::LimiterType
150 #define makeLimitedMultivariateSurfaceInterpolationScheme(SS, LIMITER) \ 151 typedef multivariateScheme \ 154 LimitedScheme<scalar, LIMITER<NVDTVD>, limitFuncs::magSqr> \ 156 multivariateScheme##LIMITER##_; \ 157 defineTemplateTypeNameAndDebugWithName \ 159 multivariateScheme##LIMITER##_, \ 164 multivariateSurfaceInterpolationScheme<scalar>::addIstreamConstructorToTable \ 169 LimitedScheme<scalar, LIMITER<NVDTVD>, limitFuncs::magSqr> \ 172 addMultivariate##SS##ConstructorToTable_; 175 #define makeLLimitedMultivariateSurfaceInterpolationScheme\ 183 typedef multivariateScheme \ 186 LimitedScheme<scalar, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \ 188 multivariateScheme##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_; \ 189 defineTemplateTypeNameAndDebugWithName \ 191 multivariateScheme##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_, \ 196 multivariateSurfaceInterpolationScheme<scalar>::addIstreamConstructorToTable \ 201 LimitedScheme<scalar, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \ 204 addMultivariate##SS##ConstructorToTable_;
multivariateScheme(const fvMesh &mesh, const typename multivariateSurfaceInterpolationScheme< Type >::fieldTable &fields, const surfaceScalarField &faceFlux, Istream &schemeData)
Construct for field, faceFlux and Istream.
surfaceInterpolationScheme sub-class returned by operator(field)
Generic multi-variate discretisation scheme class which may be instantiated for any of the NVD...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const fvMesh & mesh() const
Return mesh reference.
const fieldTable & fields() const
Return fields to be interpolated.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors.
TypeName("multivariateScheme")
Runtime type information.
fieldScheme(const GeometricField< Type, fvPatchField, volMesh > &field, const surfaceScalarField &weights)
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for multi-variate surface interpolation schemes.
void operator=(const multivariateScheme &)=delete
Disallow default bitwise assignment.
A class for managing temporary objects.