35 #ifndef convectionScheme_H 36 #define convectionScheme_H 77 virtual const word&
type()
const = 0;
92 (mesh, faceFlux, schemeData)
107 (mesh, fields, faceFlux, schemeData)
206 #define makeFvConvectionTypeScheme(SS, Type) \ 207 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \ 213 convectionScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ 214 add##SS##Type##IstreamConstructorToTable_; \ 218 #define makeFvConvectionScheme(SS) \ 220 makeFvConvectionTypeScheme(SS, scalar) \ 221 makeFvConvectionTypeScheme(SS, vector) \ 222 makeFvConvectionTypeScheme(SS, sphericalTensor) \ 223 makeFvConvectionTypeScheme(SS, symmTensor) \ 224 makeFvConvectionTypeScheme(SS, tensor) 227 #define makeMultivariateFvConvectionTypeScheme(SS, Type) \ 228 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \ 234 convectionScheme<Type>:: \ 235 addMultivariateConstructorToTable<SS<Type>> \ 236 add##SS##Type##MultivariateConstructorToTable_; \ 241 #define makeMultivariateFvConvectionScheme(SS) \ 243 makeMultivariateFvConvectionTypeScheme(SS, scalar) \ 244 makeMultivariateFvConvectionTypeScheme(SS, vector) \ 245 makeMultivariateFvConvectionTypeScheme(SS, sphericalTensor) \ 246 makeMultivariateFvConvectionTypeScheme(SS, symmTensor) \ 247 makeMultivariateFvConvectionTypeScheme(SS, tensor) convectionScheme(const convectionScheme &)
Copy construct.
void operator=(const convectionScheme< Type > &)
Reference counter for various OpenFOAM components.
virtual ~convectionScheme()
Destructor.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDiv(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
const fvMesh & mesh() const
Return mesh reference.
Abstract base class for convection schemes.
declareRunTimeSelectionTable(tmp, convectionScheme, Istream,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
virtual const word & type() const =0
Runtime type information.
A class for handling words, derived from string.
virtual tmp< fvMatrix< Type > > fvmDiv(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
static tmp< convectionScheme< Type > > New(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
Return a pointer to a new convectionScheme created on freestore.
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for multi-variate surface interpolation schemes.
Macros to ease declaration of run-time selection tables.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
A class for managing temporary objects.
Abstract base class for finite volume calculus convection schemes.