35 #ifndef laplacianScheme_H
36 #define laplacianScheme_H
65 template<
class Type,
class GType>
85 virtual const word&
type()
const = 0;
216 #define makeFvLaplacianTypeScheme(SS, GType, Type) \
217 typedef Foam::fv::SS<Foam::Type, Foam::GType> SS##Type##GType; \
218 defineNamedTemplateTypeNameAndDebug(SS##Type##GType, 0); \
224 typedef SS<Type, GType> SS##Type##GType; \
226 laplacianScheme<Type, GType>:: \
227 addIstreamConstructorToTable<SS<Type, GType>> \
228 add##SS##Type##GType##IstreamConstructorToTable_; \
233 #define makeFvLaplacianScheme(SS) \
235 makeFvLaplacianTypeScheme(SS, scalar, scalar) \
236 makeFvLaplacianTypeScheme(SS, symmTensor, scalar) \
237 makeFvLaplacianTypeScheme(SS, tensor, scalar) \
238 makeFvLaplacianTypeScheme(SS, scalar, vector) \
239 makeFvLaplacianTypeScheme(SS, symmTensor, vector) \
240 makeFvLaplacianTypeScheme(SS, tensor, vector) \
241 makeFvLaplacianTypeScheme(SS, scalar, sphericalTensor) \
242 makeFvLaplacianTypeScheme(SS, symmTensor, sphericalTensor) \
243 makeFvLaplacianTypeScheme(SS, tensor, sphericalTensor) \
244 makeFvLaplacianTypeScheme(SS, scalar, symmTensor) \
245 makeFvLaplacianTypeScheme(SS, symmTensor, symmTensor) \
246 makeFvLaplacianTypeScheme(SS, tensor, symmTensor) \
247 makeFvLaplacianTypeScheme(SS, scalar, tensor) \
248 makeFvLaplacianTypeScheme(SS, symmTensor, tensor) \
249 makeFvLaplacianTypeScheme(SS, tensor, tensor)
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Mesh data needed to do the Finite Volume discretisation.
Simple central-difference snGrad scheme with non-orthogonal correction.
Abstract base class for laplacian schemes.
virtual tmp< fvMatrix< Type > > fvmLaplacian(const SurfaceField< GType > &, const VolField< Type > &)=0
virtual const word & type() const =0
Runtime type information.
const fvMesh & mesh() const
Return mesh reference.
declareRunTimeSelectionTable(tmp, laplacianScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
void operator=(const laplacianScheme &)=delete
Disallow default bitwise assignment.
tmp< snGradScheme< Type > > tsnGradScheme_
virtual ~laplacianScheme()
Destructor.
virtual tmp< VolField< Type > > fvcLaplacian(const VolField< Type > &)=0
tmp< surfaceInterpolationScheme< GType > > tinterpGammaScheme_
static tmp< laplacianScheme< Type, GType > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new laplacianScheme created on freestore.
laplacianScheme(const fvMesh &mesh)
Construct from mesh.
Abstract base class for snGrad schemes.
static tmp< snGradScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
Centred interpolation interpolation scheme class.
Reference counter for various OpenFOAM components.
Abstract base class for surface interpolation schemes.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
A class for managing temporary objects.
A class for handling words, derived from string.
Macros to ease declaration of run-time selection tables.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...