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) convectionScheme(const convectionScheme &)
Copy construct.
void operator=(const convectionScheme< Type > &)
Reference counter for various OpenFOAM components.
Forwards and collection of common volume field types.
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
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 Foam::string.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...
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.
const fvMesh & mesh() const
Return mesh reference.
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.