Go to the documentation of this file.
35 #ifndef laplacianScheme_H
36 #define laplacianScheme_H
65 template<
class Type,
class GType>
92 virtual const word&
type()
const = 0;
214 #define makeFvLaplacianTypeScheme(SS, GType, Type) \
215 typedef Foam::fv::SS<Foam::Type, Foam::GType> SS##Type##GType; \
216 defineNamedTemplateTypeNameAndDebug(SS##Type##GType, 0); \
222 typedef SS<Type, GType> SS##Type##GType; \
224 laplacianScheme<Type, GType>:: \
225 addIstreamConstructorToTable<SS<Type, GType> > \
226 add##SS##Type##GType##IstreamConstructorToTable_; \
231 #define makeFvLaplacianScheme(SS) \
233 makeFvLaplacianTypeScheme(SS, scalar, scalar) \
234 makeFvLaplacianTypeScheme(SS, symmTensor, scalar) \
235 makeFvLaplacianTypeScheme(SS, tensor, scalar) \
236 makeFvLaplacianTypeScheme(SS, scalar, vector) \
237 makeFvLaplacianTypeScheme(SS, symmTensor, vector) \
238 makeFvLaplacianTypeScheme(SS, tensor, vector) \
239 makeFvLaplacianTypeScheme(SS, scalar, sphericalTensor) \
240 makeFvLaplacianTypeScheme(SS, symmTensor, sphericalTensor) \
241 makeFvLaplacianTypeScheme(SS, tensor, sphericalTensor) \
242 makeFvLaplacianTypeScheme(SS, scalar, symmTensor) \
243 makeFvLaplacianTypeScheme(SS, symmTensor, symmTensor) \
244 makeFvLaplacianTypeScheme(SS, tensor, symmTensor) \
245 makeFvLaplacianTypeScheme(SS, scalar, tensor) \
246 makeFvLaplacianTypeScheme(SS, symmTensor, tensor) \
247 makeFvLaplacianTypeScheme(SS, tensor, tensor)
const fvMesh & mesh() const
Return mesh reference.
static tmp< laplacianScheme< Type, GType > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new laplacianScheme created on freestore.
A class for handling words, derived from string.
A class for managing temporary objects.
Reference counter for various OpenFOAM components.
tmp< surfaceInterpolationScheme< GType > > tinterpGammaScheme_
Abstract base class for laplacian schemes.
virtual ~laplacianScheme()
Destructor.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
laplacianScheme(const fvMesh &mesh, Istream &is)
Construct from mesh and Istream.
virtual tmp< fvMatrix< Type > > fvmLaplacian(const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)=0
laplacianScheme(const fvMesh &mesh)
Construct from mesh.
Mesh data needed to do the Finite Volume discretisation.
virtual const word & type() const =0
Runtime type information.
declareRunTimeSelectionTable(tmp, laplacianScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
Macros to ease declaration of run-time selection tables.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
tmp< snGradScheme< Type > > tsnGradScheme_
Simple central-difference snGrad scheme with non-orthogonal correction.
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)=0
Abstract base class for surface interpolation schemes.
Abstract base class for snGrad schemes.
static tmp< snGradScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
Central-differencing interpolation scheme class.
void operator=(const laplacianScheme &)
Disallow default bitwise assignment.
laplacianScheme(const laplacianScheme &)
Disallow copy construct.
Generic GeometricField class.