38 #ifndef faGradScheme_H 39 #define faGradScheme_H 151 #define makeFaGradTypeScheme(SS, Type) \ 153 defineNamedTemplateTypeNameAndDebug(Foam::fa::SS<Foam::Type>, 0); \ 159 gradScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ 160 add##SS##Type##IstreamConstructorToTable_; \ 165 #define makeFaGradScheme(SS) \ 167 makeFaGradTypeScheme(SS, scalar) \ 168 makeFaGradTypeScheme(SS, vector) virtual tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh > > grad(const GeometricField< Type, faPatchField, areaMesh > &) const =0
Calculate and return the grad of the given field.
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
const faMesh & mesh() const
Return mesh reference.
Reference counter for various OpenFOAM components.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Generic GeometricField class.
faPatchField<Type> abstract base class. This class gives a fat-interface to all derived classes cover...
Forwards for edge field types.
static tmp< gradScheme< Type > > New(const faMesh &mesh, Istream &schemeData)
Return a pointer to a new gradScheme created on freestore.
Abstract base class for finite area calculus gradient schemes.
Mesh data needed to do the Finite Area discretisation.
Macros to ease declaration of run-time selection tables.
declareRunTimeSelectionTable(tmp, gradScheme, Istream,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
A class for managing temporary objects.
virtual ~gradScheme()
Destructor.
Forwards and collection of common area field types.