33 #ifndef UpwindFitScheme_H 34 #define UpwindFitScheme_H 48 template<
class Type,
class Polynomial,
class Stencil>
61 const scalar linearLimitFactor_;
64 const scalar centralWeight_;
161 #define makeUpwindFitSurfaceInterpolationTypeScheme\ 169 typedef UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ 170 UpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ 171 defineTemplateTypeNameAndDebugWithName \ 172 (UpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ 174 surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ 175 <UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 176 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ 178 surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ 179 <UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 180 add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; 182 #define makeUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ 184 makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ 185 makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ 186 makeUpwindFitSurfaceInterpolationTypeScheme \ 193 makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor) \ 194 makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor)
const fvMesh & mesh() const
Return mesh reference.
Central-differencing interpolation scheme class.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > weightedSum(const surfaceScalarField &phi, const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< scalar >> &ownWeights, const List< List< scalar >> &neiWeights) const
Sum vol field contributions to create face values.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
static const UpwindFitData< Polynomial > & New(const fvMesh &mesh)
const List< scalarList > & neicoeffs() const
Return reference to neighbour fit coefficients.
TypeName("UpwindFitScheme")
Runtime type information.
const List< scalarList > & owncoeffs() const
Return reference to owner fit coefficients.
A class for handling words, derived from string.
Upwind biased fit surface interpolation scheme that applies an explicit correction to linear...
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
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...
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.