33 #ifndef PureUpwindFitScheme_H 34 #define PureUpwindFitScheme_H 49 template<
class Type,
class Polynomial,
class Stencil>
59 const scalar linearLimitFactor_;
62 const scalar centralWeight_;
96 upwind<Type>(mesh, faceFlux),
157 #define makePureUpwindFitSurfaceInterpolationTypeScheme\ 165 typedef PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ 166 PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ 167 defineTemplateTypeNameAndDebugWithName \ 168 (PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ 170 surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ 171 <PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 172 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ 174 surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ 175 <PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 176 add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; 178 #define makePureUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ 180 makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ 181 makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ 182 makePureUpwindFitSurfaceInterpolationTypeScheme \ 189 makePureUpwindFitSurfaceInterpolationTypeScheme \ 196 makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
PureUpwindFitScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
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.
const List< scalarList > & neicoeffs() const
Return reference to neighbour fit coefficients.
static const UpwindFitData< Polynomial > & New(const fvMesh &mesh)
Upwind biased fit surface interpolation scheme that applies an explicit correction to upwind...
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.
const surfaceScalarField & faceFlux_
const List< scalarList > & owncoeffs() const
Return reference to owner fit coefficients.
void operator=(const PureUpwindFitScheme &)=delete
Disallow default bitwise assignment.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
TypeName("PureUpwindFitScheme")
Runtime type information.
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...
Upwind differencing scheme class.
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.