Go to the documentation of this file.
40 #ifndef convectionScheme_H
41 #define convectionScheme_H
82 virtual const word&
type()
const = 0;
97 (
mesh, faceFlux, schemeData)
211 #define makeFvConvectionTypeScheme(SS, Type) \
212 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \
218 convectionScheme<Type>::addIstreamConstructorToTable<SS<Type>> \
219 add##SS##Type##IstreamConstructorToTable_; \
223 #define makeFvConvectionScheme(SS) \
225 makeFvConvectionTypeScheme(SS, scalar) \
226 makeFvConvectionTypeScheme(SS, vector) \
227 makeFvConvectionTypeScheme(SS, sphericalTensor) \
228 makeFvConvectionTypeScheme(SS, symmTensor) \
229 makeFvConvectionTypeScheme(SS, tensor)
232 #define makeMultivariateFvConvectionTypeScheme(SS, Type) \
233 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \
239 convectionScheme<Type>:: \
240 addMultivariateConstructorToTable<SS<Type>> \
241 add##SS##Type##MultivariateConstructorToTable_; \
246 #define makeMultivariateFvConvectionScheme(SS) \
248 makeMultivariateFvConvectionTypeScheme(SS, scalar) \
249 makeMultivariateFvConvectionTypeScheme(SS, vector) \
250 makeMultivariateFvConvectionTypeScheme(SS, sphericalTensor) \
251 makeMultivariateFvConvectionTypeScheme(SS, symmTensor) \
252 makeMultivariateFvConvectionTypeScheme(SS, tensor)
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
virtual ~convectionScheme()
Reference counter for various OpenFOAM components.
static tmp< convectionScheme< Type > > New(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
convectionScheme(const convectionScheme &)
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
declareRunTimeSelectionTable(tmp, convectionScheme, Istream,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
Abstract base class for finite volume calculus convection schemes.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Abstract base class for multi-variate surface interpolation schemes.
virtual tmp< fvMatrix< Type > > fvmDiv(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for convection schemes.
Macros to ease declaration of run-time selection tables.
void operator=(const convectionScheme< Type > &)
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDiv(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
const fvMesh & mesh() const
Generic GeometricField class.
virtual const word & type() const =0
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields