51 #ifndef snGradScheme_H 52 #define snGradScheme_H 99 virtual const word&
type()
const = 0;
152 const word& snGradName =
"snGrad" 160 const word& snGradName =
"sndGrad" 209 #define makeSnGradTypeScheme(SS, Type) \ 210 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \ 216 snGradScheme<Type>::addMeshConstructorToTable<SS<Type>> \ 217 add##SS##Type##MeshConstructorToTable_; \ 221 #define makeSnGradScheme(SS) \ 223 makeSnGradTypeScheme(SS, scalar) \ 224 makeSnGradTypeScheme(SS, vector) \ 225 makeSnGradTypeScheme(SS, sphericalTensor) \ 226 makeSnGradTypeScheme(SS, symmTensor) \ 227 makeSnGradTypeScheme(SS, tensor) virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &) const
Return the explicit correction to the snGrad for the given field.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const word &snGradName="snGrad")
Return the snGrad of the given cell field by using the given deltaCoeffs.
virtual bool corrected() const noexcept
Return true if this scheme uses an explicit correction.
Reference counter for various OpenFOAM components.
Forwards and collection of common volume field types.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > sndGrad(const GeometricField< Type, fvPatchField, volMesh > &, const word &snGradName="sndGrad")
Return the sndGrad of the given cell field.
Generic GeometricField class.
static tmp< snGradScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
virtual tmp< surfaceScalarField > deltaCoeffs(const GeometricField< Type, fvPatchField, volMesh > &) const =0
Return the interpolation weighting factors for the given field.
A class for handling words, derived from Foam::string.
virtual const word & type() const =0
Runtime type information.
declareRunTimeSelectionTable(tmp, snGradScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
Abstract base class for runtime selected snGrad surface normal gradient schemes.
virtual ~snGradScheme()=default
Destructor.
const fvMesh & mesh() const
Return const reference to mesh.
Mesh data needed to do the Finite Volume discretisation.
Macros to ease declaration of run-time selection tables.
A class for managing temporary objects.