38#ifndef CentredFitSnGradScheme_H
39#define CentredFitSnGradScheme_H
59template<
class Type,
class Polynomial,
class Stencil>
69 const scalar linearLimitFactor_;
72 const scalar centralWeight_;
96 linearLimitFactor_(readScalar(is)),
165#define makeCentredFitSnGradTypeScheme(SS, POLYNOMIAL, STENCIL, TYPE) \
166 typedef Foam::fv::CentredFitSnGradScheme \
167 <Foam::TYPE, Foam::POLYNOMIAL, Foam::STENCIL> \
168 CentredFitSnGradScheme##TYPE##POLYNOMIAL##STENCIL##_; \
170 defineTemplateTypeNameAndDebugWithName \
171 (CentredFitSnGradScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \
177 snGradScheme<TYPE>::addMeshConstructorToTable \
178 <CentredFitSnGradScheme<TYPE, POLYNOMIAL, STENCIL>> \
179 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \
183#define makeCentredFitSnGradScheme(SS, POLYNOMIAL, STENCIL) \
185 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \
186 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \
187 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,sphericalTensor) \
188 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor) \
189 makeCentredFitSnGradTypeScheme(SS,POLYNOMIAL,STENCIL,tensor)
Data for centred fit snGrad schemes.
const List< scalarList > & coeffs() const
Return reference to fit coefficients.
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
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.
Mesh data needed to do the Finite Volume discretisation.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
virtual tmp< surfaceScalarField > deltaCoeffs(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors for the given field.
TypeName("CentredFitSnGradScheme")
Runtime type information.
virtual bool corrected() const noexcept
Return true if this scheme uses an explicit correction.
CentredFitSnGradScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
Abstract base class for runtime selected snGrad surface normal gradient schemes.
const fvMesh & mesh() const
Return const reference to mesh.
virtual const surfaceScalarField & nonOrthDeltaCoeffs() const
Return reference to non-orthogonal cell-centre difference.
A class for managing temporary objects.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.