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
Abstract base class for convection schemes.
declareRunTimeSelectionTable(tmp, convectionScheme, Istream,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
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
Info<< "Reading field p_rgh\"<< endl;volScalarField p_rgh(IOobject("p_rgh", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);pressureReference pressureReference(p, p_rgh, pimple.dict(), thermo.incompressible());mesh.schemes().setFluxRequired(p_rgh.name());hydrostaticInitialisation(p_rgh, p, rho, U, gh, ghf, pRef, thermo, pimple.dict());Info<< "Creating field dpdt\"<< endl;volScalarField dpdt(IOobject("dpdt", runTime.timeName(), mesh), mesh, dimensionedScalar(p.dimensions()/dimTime, 0));Info<< "Creating field kinetic energy K\"<< endl;volScalarField K("K", 0.5 *magSqr(U));dimensionedScalar initialMass=fvc::domainIntegrate(rho);multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
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.