Go to the documentation of this file.
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)
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux(const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
A class for handling words, derived from string.
A class for managing temporary objects.
virtual ~convectionScheme()
Destructor.
Reference counter for various OpenFOAM components.
Info<< "Creating field dpdt\n"<< endl;volScalarField dpdt(IOobject("dpdt", runTime.timeName(), mesh), mesh, dimensionedScalar("dpdt", p.dimensions()/dimTime, 0));Info<< "Creating field kinetic energy K\n"<< endl;volScalarField K("K", 0.5 *magSqr(U));volScalarField p_rgh(IOobject("p_rgh", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);p_rgh=p - rho *gh;mesh.setFluxRequired(p_rgh.name());multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
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.
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
Return mesh reference.
Generic GeometricField class.
virtual const word & type() const =0
Runtime type information.