38 #ifndef PureUpwindFitScheme_H 39 #define PureUpwindFitScheme_H 54 template<
class Type,
class Polynomial,
class Stencil>
64 const scalar linearLimitFactor_;
67 const scalar centralWeight_;
97 linearLimitFactor_(readScalar(is)),
111 linearLimitFactor_(readScalar(is)),
125 virtual tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
128 const GeometricField<Type, fvPatchField, volMesh>& vf
149 return stencil.weightedSum(this->
faceFlux_, vf, fo, fn);
162 #define makePureUpwindFitSurfaceInterpolationTypeScheme\ 170 typedef PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ 171 PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ 172 defineTemplateTypeNameAndDebugWithName \ 173 (PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ 175 surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ 176 <PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 177 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ 179 surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ 180 <PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 181 add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; 183 #define makePureUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ 185 makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ 186 makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ 187 makePureUpwindFitSurfaceInterpolationTypeScheme \ 194 makePureUpwindFitSurfaceInterpolationTypeScheme \ 201 makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor)
const Type & lookupObject(const word &name, const bool recursive=false) const
Lookup and return const reference to the object of the given Type. Fatal if not found or the wrong ty...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static FOAM_NO_DANGLING_REFERENCE const Type & New(const Mesh &mesh, Args &&... args)
Get existing or create MeshObject registered with typeName.
const fvMesh & mesh() const
Return mesh reference.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
Upwind biased fit surface interpolation scheme that applies an explicit correction to upwind...
A class for handling words, derived from Foam::string.
const surfaceScalarField & faceFlux_
TypeName("PureUpwindFitScheme")
Runtime type information.
Data for the quadratic fit correction interpolation scheme to be used with upwind biased stencil...
Creates upwind stencil by shifting a centred stencil to upwind and downwind faces and optionally remo...
Upwind differencing scheme class.
Mesh data needed to do the Finite Volume discretisation.