33 #ifndef CentredFitScheme_H 34 #define CentredFitScheme_H 48 template<
class Type,
class Polynomial,
class Stencil>
58 const scalar linearLimitFactor_;
61 const scalar centralWeight_;
150 #define makeCentredFitSurfaceInterpolationTypeScheme\ 158 typedef CentredFitScheme<TYPE, POLYNOMIAL, STENCIL> \ 159 CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ 160 defineTemplateTypeNameAndDebugWithName \ 161 (CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ 163 surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ 164 <CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 165 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ 167 surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ 168 <CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 169 add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; 171 #define makeCentredFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ 173 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ 174 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ 175 makeCentredFitSurfaceInterpolationTypeScheme \ 182 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor)\ 183 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor) const fvMesh & mesh() const
Return mesh reference.
Central-differencing interpolation scheme class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
TypeName("CentredFitScheme")
Runtime type information.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
static const CentredFitData< Polynomial > & New(const fvMesh &mesh)
Data for the quadratic fit correction interpolation scheme.
Centred fit surface interpolation scheme which applies an explicit correction to linear.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > weightedSum(const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< scalar >> &stencilWeights) const
Sum vol field contributions to create face values.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
Mesh data needed to do the Finite Volume discretisation.
const List< scalarList > & coeffs() const
Return reference to fit coefficients.
A class for managing temporary objects.