40#ifndef Foam_divScheme_H
41#define Foam_divScheme_H
95 virtual const word&
type()
const = 0;
129 new linear<Type>(mesh)
136 surfaceInterpolationScheme<Type>::New(mesh, is)
187#define makeFvDivTypeScheme(SS, Type) \
188 defineNamedTemplateTypeNameAndDebug(Foam::fv::SS<Foam::Type>, 0); \
194 divScheme<Type>::addIstreamConstructorToTable<SS<Type>> \
195 add##SS##Type##IstreamConstructorToTable_; \
199#define makeFvDivScheme(SS) \
201makeFvDivTypeScheme(SS, vector) \
202makeFvDivTypeScheme(SS, sphericalTensor) \
203makeFvDivTypeScheme(SS, symmTensor) \
204makeFvDivTypeScheme(SS, tensor)
Generic GeometricField class.
bool eof() const noexcept
True if end of input seen.
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 volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
divScheme(const divScheme &)=delete
No copy construct.
tmp< surfaceInterpolationScheme< Type > > tinterpScheme_
void operator=(const divScheme &)=delete
No copy assignment.
declareRunTimeSelectionTable(tmp, divScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
virtual ~divScheme()=default
Destructor.
const fvMesh & mesh() const
Return mesh reference.
divScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
static tmp< divScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new divScheme created on freestore.
virtual tmp< GeometricField< typename innerProduct< vector, Type >::type, fvPatchField, volMesh > > fvcDiv(const GeometricField< Type, fvPatchField, volMesh > &)=0
virtual const word & type() const =0
Runtime type information.
divScheme(const fvMesh &mesh)
Construct from mesh.
typeOfRank< typenamepTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) -2 >::type type
Central-differencing interpolation scheme class.
constexpr refCount() noexcept
Default construct, initializing count to 0.
A class for managing temporary objects.
Mesh data needed to do the Finite Volume discretisation.
A class for handling words, derived from Foam::string.
Abstract base class for finite volume calculus div schemes.
Namespace for finite-volume.
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).
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...
Forwards and collection of common volume field types.