35 #ifndef convectionScheme_H
36 #define convectionScheme_H
77 virtual const word&
type()
const = 0;
92 (
mesh, 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)
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for convection schemes.
virtual const word & type() const =0
Runtime type information.
void operator=(const convectionScheme< Type > &)
virtual tmp< SurfaceField< Type > > flux(const surfaceScalarField &, const VolField< Type > &) const =0
declareRunTimeSelectionTable(tmp, convectionScheme, Istream,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
const fvMesh & mesh() const
Return mesh reference.
virtual ~convectionScheme()
Destructor.
virtual tmp< VolField< Type > > fvcDiv(const surfaceScalarField &, const VolField< Type > &) const =0
virtual tmp< SurfaceField< Type > > interpolate(const surfaceScalarField &, const VolField< Type > &) const =0
virtual tmp< fvMatrix< Type > > fvmDiv(const surfaceScalarField &, const VolField< Type > &) 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.
convectionScheme(const convectionScheme &)
Copy construct.
Abstract base class for multi-variate surface interpolation schemes.
Reference counter for various OpenFOAM components.
A class for managing temporary objects.
A class for handling words, derived from string.
Abstract base class for finite volume calculus convection schemes.
Info<< "Calculating turbulent flame speed field St\n"<< endl;volScalarField St(IOobject("St", runTime.name(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), flameWrinkling->Xi() *Su);multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
Macros to ease declaration of run-time selection tables.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...