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)
static Type & New(const word &name, const Mesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Data for the quadratic fit correction interpolation scheme to be used with upwind biased stencil.
const List< scalarList > & neicoeffs() const
Return reference to neighbour fit coefficients.
const List< scalarList > & owncoeffs() const
Return reference to owner fit coefficients.
Upwind biased fit surface interpolation scheme that applies an explicit correction to linear.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
TypeName("UpwindFitScheme")
Runtime type information.
UpwindFitScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
virtual tmp< SurfaceField< Type > > correction(const VolField< Type > &vf) const
Return the explicit correction to the face-interpolate.
void operator=(const UpwindFitScheme &)=delete
Disallow default bitwise assignment.
Creates upwind stencil by shifting a centred stencil to upwind and downwind faces and optionally remo...
tmp< SurfaceField< Type > > weightedSum(const surfaceScalarField &phi, const VolField< Type > &fld, const List< List< scalar >> &ownWeights, const List< List< scalar >> &neiWeights) const
Sum vol field contributions to create face values.
Mesh data needed to do the Finite Volume discretisation.
Centred interpolation interpolation scheme class.
const fvMesh & mesh() const
Return mesh reference.
A class for managing temporary objects.
A class for handling words, derived from string.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.