35 #ifndef laplacianScheme_H 36 #define laplacianScheme_H 65 template<
class Type,
class GType>
94 virtual const word&
type()
const = 0;
115 tinterpGammaScheme_(new
linear<GType>(mesh)),
123 tinterpGammaScheme_(nullptr),
124 tsnGradScheme_(nullptr)
146 tinterpGammaScheme_(igs),
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) Reference counter for various OpenFOAM components.
Centred interpolation interpolation scheme class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
virtual ~laplacianScheme()
Destructor.
Abstract base class for laplacian schemes.
Generic GeometricField class.
static tmp< snGradScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
tmp< surfaceInterpolationScheme< GType > > tinterpGammaScheme_
A class for handling words, derived from string.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
Simple central-difference snGrad scheme with non-orthogonal correction.
virtual tmp< fvMatrix< Type > > fvmLaplacian(const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)=0
Abstract base class for snGrad schemes.
Mesh data needed to do the Finite Volume discretisation.
const fvMesh & mesh() const
Return mesh reference.
Macros to ease declaration of run-time selection tables.
virtual const word & type() const =0
Runtime type information.
A class for managing temporary objects.
declareRunTimeSelectionTable(tmp, laplacianScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
static tmp< laplacianScheme< Type, GType > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new laplacianScheme created on freestore.
tmp< snGradScheme< Type > > tsnGradScheme_
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)=0