38 #ifndef CentredFitScheme_H 39 #define CentredFitScheme_H 53 template<
class Type,
class Polynomial,
class Stencil>
63 const scalar linearLimitFactor_;
66 const scalar centralWeight_;
90 linearLimitFactor_(readScalar(is)),
104 linearLimitFactor_(readScalar(is)),
118 virtual tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
121 const GeometricField<Type, fvPatchField, volMesh>& vf
155 #define makeCentredFitSurfaceInterpolationTypeScheme\ 163 typedef CentredFitScheme<TYPE, POLYNOMIAL, STENCIL> \ 164 CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ 165 defineTemplateTypeNameAndDebugWithName \ 166 (CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ 168 surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ 169 <CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 170 add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ 172 surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ 173 <CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ 174 add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; 176 #define makeCentredFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ 178 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ 179 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ 180 makeCentredFitSurfaceInterpolationTypeScheme \ 187 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor)\ 188 makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor) virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction(const GeometricField< Type, fvPatchField, volMesh > &vf) const
Return the explicit correction to the face-interpolate.
Central-differencing interpolation scheme class.
static const cellCellStencilObject & New(const fvMesh &mesh, Args &&... args)
Get existing or create MeshObject registered with typeName.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const List< scalarList > & coeffs() const
Return reference to fit coefficients.
const fvMesh & mesh() const
Return mesh reference.
TypeName("CentredFitScheme")
Runtime type information.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > weightedSum(const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< scalar >> &stencilWeights) const
Sum vol field contributions to create face values.
Data for the quadratic fit correction interpolation scheme.
Centred fit surface interpolation scheme which applies an explicit correction to linear.
Mesh data needed to do the Finite Volume discretisation.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.