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)
Central-differencing interpolation scheme class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const fvMesh & mesh() const
Return mesh reference.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
const List< scalarList > & neicoeffs() const
Return reference to neighbour fit coefficients.
static const UpwindFitData< Polynomial > & New(const fvMesh &mesh)
TypeName("UpwindFitScheme")
Runtime type information.
autoPtr< BasicCompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleMomentumTransportModel::transportModel &transport)
A class for handling words, derived from string.
Upwind biased fit surface interpolation scheme that applies an explicit correction to linear...
const List< scalarList > & owncoeffs() const
Return reference to owner fit coefficients.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
void operator=(const UpwindFitScheme &)=delete
Disallow default bitwise assignment.
UpwindFitScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
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.
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...
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.