37#ifndef faConvectionScheme_H
38#define faConvectionScheme_H
89 (
mesh, faceFlux, schemeData)
167#define makeFaConvectionTypeScheme(SS, Type) \
169 defineNamedTemplateTypeNameAndDebug(Foam::fa::SS<Foam::Type>, 0); \
175 convectionScheme<Type>::addIstreamConstructorToTable<SS<Type>> \
176 add##SS##Type##IstreamConstructorToTable_; \
181#define makeFaConvectionScheme(SS) \
183makeFaConvectionTypeScheme(SS, scalar) \
184makeFaConvectionTypeScheme(SS, vector) \
185makeFaConvectionTypeScheme(SS, tensor)
Forwards and collection of common area field types.
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A special matrix type and solver, designed for finite area solutions of scalar equations....
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
virtual tmp< GeometricField< Type, faPatchField, areaMesh > > facDiv(const edgeScalarField &, const GeometricField< Type, faPatchField, areaMesh > &) const =0
convectionScheme(const faMesh &mesh, const edgeScalarField &faceFlux)
Construct from mesh, flux and Istream.
virtual tmp< faMatrix< Type > > famDiv(const edgeScalarField &, const GeometricField< Type, faPatchField, areaMesh > &) const =0
const faMesh & mesh() const noexcept
Return mesh reference.
virtual ~convectionScheme()
Destructor.
convectionScheme(const convectionScheme &)=delete
No copy construct.
static tmp< convectionScheme< Type > > New(const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData)
Return a pointer to a new convectionScheme created on freestore.
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > flux(const edgeScalarField &, const GeometricField< Type, faPatchField, areaMesh > &) const =0
declareRunTimeSelectionTable(tmp, convectionScheme, Istream,(const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
void operator=(const convectionScheme &)=delete
No copy assignment.
constexpr refCount() noexcept
Default construct, initializing count to 0.
A class for managing temporary objects.
Forwards for edge field types.
Namespace for finite-area.
GeometricField< scalar, faePatchField, edgeMesh > edgeScalarField
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).