Go to the documentation of this file.
38 #ifndef multivariateScheme_H
39 #define multivariateScheme_H
53 template<
class Type,
class Scheme>
57 public Scheme::LimiterType
134 tmp<surfaceInterpolationScheme<Type>> operator()
136 const GeometricField<Type, fvPatchField, volMesh>&
field
139 return tmp<surfaceInterpolationScheme<Type>>
141 new fieldScheme(
field, weights_)
155 #define makeLimitedMultivariateSurfaceInterpolationScheme(SS, LIMITER) \
156 typedef multivariateScheme \
159 LimitedScheme<scalar, LIMITER<NVDTVD>, limitFuncs::magSqr> \
161 multivariateScheme##LIMITER##_; \
162 defineTemplateTypeNameAndDebugWithName \
164 multivariateScheme##LIMITER##_, \
169 multivariateSurfaceInterpolationScheme<scalar>::addIstreamConstructorToTable \
174 LimitedScheme<scalar, LIMITER<NVDTVD>, limitFuncs::magSqr> \
177 addMultivariate##SS##ConstructorToTable_;
180 #define makeLLimitedMultivariateSurfaceInterpolationScheme\
188 typedef multivariateScheme \
191 LimitedScheme<scalar, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \
193 multivariateScheme##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_; \
194 defineTemplateTypeNameAndDebugWithName \
196 multivariateScheme##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_, \
201 multivariateSurfaceInterpolationScheme<scalar>::addIstreamConstructorToTable \
206 LimitedScheme<scalar, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \
209 addMultivariate##SS##ConstructorToTable_;
Generic multi-variate discretisation scheme class which may be instantiated for any of the NVD,...
A class for managing temporary objects.
tmp< surfaceScalarField > weights(const GeometricField< Type, fvPatchField, volMesh > &) const
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Abstract base class for multi-variate surface interpolation schemes.
TypeName("multivariateScheme")
const fvMesh & mesh() const
Mesh data needed to do the Finite Volume discretisation.
const fieldTable & fields() const
Generic GeometricField class.
fieldScheme(const GeometricField< Type, fvPatchField, volMesh > &field, const surfaceScalarField &weights)