38 #ifndef CentredFitSnGradScheme_H 39 #define CentredFitSnGradScheme_H 59 template<
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) const List< scalarList > & coeffs() const
Return reference to fit coefficients.
TypeName("CentredFitSnGradScheme")
Runtime type information.
static const cellCellStencilObject & New(const fvMesh &mesh, Args &&... args)
Get existing or create MeshObject registered with typeName.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Generic GeometricField class.
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< surfaceScalarField > deltaCoeffs(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the interpolation weighting factors for the given field.
virtual const surfaceScalarField & nonOrthDeltaCoeffs() const
Return reference to non-orthogonal cell-centre difference.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
Abstract base class for runtime selected snGrad surface normal gradient schemes.
virtual bool corrected() const noexcept
Return true if this scheme uses an explicit correction.
const fvMesh & mesh() const
Return const reference to mesh.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Mesh data needed to do the Finite Volume discretisation.
Data for centred fit snGrad schemes.
A class for managing temporary objects.