40 #ifndef laplacianScheme_H 41 #define laplacianScheme_H 70 template<
class Type,
class GType>
99 virtual const word&
type()
const = 0;
221 #define makeFvLaplacianTypeScheme(SS, GType, Type) \ 222 typedef Foam::fv::SS<Foam::Type, Foam::GType> SS##Type##GType; \ 223 defineNamedTemplateTypeNameAndDebug(SS##Type##GType, 0); \ 229 typedef SS<Type, GType> SS##Type##GType; \ 231 laplacianScheme<Type, GType>:: \ 232 addIstreamConstructorToTable<SS<Type, GType>> \ 233 add##SS##Type##GType##IstreamConstructorToTable_; \ 238 #define makeFvLaplacianScheme(SS) \ 240 makeFvLaplacianTypeScheme(SS, scalar, scalar) \ 241 makeFvLaplacianTypeScheme(SS, symmTensor, scalar) \ 242 makeFvLaplacianTypeScheme(SS, tensor, scalar) \ 243 makeFvLaplacianTypeScheme(SS, scalar, vector) \ 244 makeFvLaplacianTypeScheme(SS, symmTensor, vector) \ 245 makeFvLaplacianTypeScheme(SS, tensor, vector) \ 246 makeFvLaplacianTypeScheme(SS, scalar, sphericalTensor) \ 247 makeFvLaplacianTypeScheme(SS, symmTensor, sphericalTensor) \ 248 makeFvLaplacianTypeScheme(SS, tensor, sphericalTensor) \ 249 makeFvLaplacianTypeScheme(SS, scalar, symmTensor) \ 250 makeFvLaplacianTypeScheme(SS, symmTensor, symmTensor) \ 251 makeFvLaplacianTypeScheme(SS, tensor, symmTensor) \ 252 makeFvLaplacianTypeScheme(SS, scalar, tensor) \ 253 makeFvLaplacianTypeScheme(SS, symmTensor, tensor) \ 254 makeFvLaplacianTypeScheme(SS, tensor, tensor) virtual ~laplacianScheme()=default
Destructor.
Reference counter for various OpenFOAM components.
Forwards and collection of common volume field types.
Central-differencing interpolation scheme class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
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 Foam::string.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
Surface gradient scheme with full explicit non-orthogonal correction.
virtual tmp< fvMatrix< Type > > fvmLaplacian(const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)=0
Abstract base class for runtime selected snGrad surface normal gradient 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