37#ifndef faD2dt2Scheme_H
38#define faD2dt2Scheme_H
81 virtual const word&
type()
const = 0;
192#define makeFaD2dt2TypeScheme(SS, Type) \
194 defineNamedTemplateTypeNameAndDebug(Foam::fa::SS<Foam::Type>, 0); \
200 faD2dt2Scheme<Type>::addIstreamConstructorToTable<SS<Type>> \
201 add##SS##Type##IstreamConstructorToTable_; \
206#define makeFaD2dt2Scheme(SS) \
208makeFaD2dt2TypeScheme(SS, scalar) \
209makeFaD2dt2TypeScheme(SS, vector) \
210makeFaD2dt2TypeScheme(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)....
Generic dimensioned Type class.
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 ...
faD2dt2Scheme(const faMesh &mesh, Istream &)
Construct from mesh and Istream.
virtual ~faD2dt2Scheme()
Destructor.
const faMesh & mesh() const noexcept
Return mesh reference.
void operator=(const faD2dt2Scheme &)=delete
No copy assignment.
faD2dt2Scheme(const faD2dt2Scheme &)=delete
No copy construct.
const faMesh & mesh_
Reference to mesh.
virtual tmp< GeometricField< Type, faPatchField, areaMesh > > facD2dt2(const GeometricField< Type, faPatchField, areaMesh > &)=0
virtual tmp< faMatrix< Type > > famD2dt2(const GeometricField< Type, faPatchField, areaMesh > &)=0
virtual tmp< faMatrix< Type > > famD2dt2(const areaScalarField &, const GeometricField< Type, faPatchField, areaMesh > &)=0
faD2dt2Scheme(const faMesh &mesh)
Construct from mesh.
static tmp< faD2dt2Scheme< Type > > New(const faMesh &mesh, Istream &schemeData)
Return a pointer to a new d2dt2Scheme created on freestore.
virtual tmp< GeometricField< Type, faPatchField, areaMesh > > facD2dt2(const areaScalarField &, const GeometricField< Type, faPatchField, areaMesh > &)=0
declareRunTimeSelectionTable(tmp, faD2dt2Scheme, Istream,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
virtual tmp< GeometricField< Type, faPatchField, areaMesh > > facD2dt2(const dimensionedScalar &, const GeometricField< Type, faPatchField, areaMesh > &)=0
virtual const word & type() const =0
Runtime type information.
virtual tmp< GeometricField< Type, faPatchField, areaMesh > > facD2dt2(const dimensioned< Type >)=0
virtual tmp< faMatrix< Type > > famD2dt2(const dimensionedScalar &, const GeometricField< Type, faPatchField, areaMesh > &)=0
constexpr refCount() noexcept
Default construct, initializing count to 0.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Forwards for edge field types.
Namespace for finite-area.
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
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).