32 #ifndef CentredFitSnGradScheme_H 33 #define CentredFitSnGradScheme_H 53 template<
class Type,
class Polynomial,
class Stencil>
63 const scalar linearLimitFactor_;
66 const scalar centralWeight_;
159 #define makeCentredFitSnGradTypeScheme(SS, POLYNOMIAL, STENCIL, TYPE) \ 160 typedef Foam::fv::CentredFitSnGradScheme \ 161 <Foam::TYPE, Foam::POLYNOMIAL, Foam::STENCIL> \ 162 CentredFitSnGradScheme##TYPE##POLYNOMIAL##STENCIL##_; \ 164 defineTemplateTypeNameAndDebugWithName \ 165 (CentredFitSnGradScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ 171 snGradScheme<TYPE>::addMeshConstructorToTable \ 172 <CentredFitSnGradScheme<TYPE, POLYNOMIAL, STENCIL>> \ 173 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ 177 #define makeCentredFitSnGradScheme(SS, POLYNOMIAL, STENCIL) \ 179 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ 180 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ 181 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,sphericalTensor) \ 182 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor) \ 183 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,tensor) const surfaceScalarField & nonOrthDeltaCoeffs() const
Return reference to non-orthogonal cell-centre difference.
const fvMesh & mesh() const
Return mesh reference.
TypeName("CentredFitSnGradScheme")
Runtime type information.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Generic GeometricField class.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
static const CentredFitSnGradData< Polynomial > & New(const fvMesh &mesh)
virtual tmp< surfaceScalarField > deltaCoeffs(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors for the given field.
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.
Abstract base class for snGrad schemes.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
const List< scalarList > & coeffs() const
Return reference to fit coefficients.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Mesh data needed to do the Finite Volume discretisation.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
Data for centred fit snGrad schemes.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.