40 #ifndef laplacianScheme_H 41 #define laplacianScheme_H 57 template<
class Type>
class fvMatrix;
69 template<
class Type,
class GType>
95 virtual const word&
type()
const = 0;
148 const tmp<surfaceInterpolationScheme<GType>>& igs,
149 const tmp<snGradScheme<Type>>& sngs
223 #define makeFvLaplacianTypeScheme(SS, GType, Type) \ 224 typedef Foam::fv::SS<Foam::Type, Foam::GType> SS##Type##GType; \ 225 defineNamedTemplateTypeNameAndDebug(SS##Type##GType, 0); \ 231 typedef SS<Type, GType> SS##Type##GType; \ 233 laplacianScheme<Type, GType>:: \ 234 addIstreamConstructorToTable<SS<Type, GType>> \ 235 add##SS##Type##GType##IstreamConstructorToTable_; \ 240 #define makeFvLaplacianScheme(SS) \ 242 makeFvLaplacianTypeScheme(SS, scalar, scalar) \ 243 makeFvLaplacianTypeScheme(SS, symmTensor, scalar) \ 244 makeFvLaplacianTypeScheme(SS, tensor, scalar) \ 245 makeFvLaplacianTypeScheme(SS, scalar, vector) \ 246 makeFvLaplacianTypeScheme(SS, symmTensor, vector) \ 247 makeFvLaplacianTypeScheme(SS, tensor, vector) \ 248 makeFvLaplacianTypeScheme(SS, scalar, sphericalTensor) \ 249 makeFvLaplacianTypeScheme(SS, symmTensor, sphericalTensor) \ 250 makeFvLaplacianTypeScheme(SS, tensor, sphericalTensor) \ 251 makeFvLaplacianTypeScheme(SS, scalar, symmTensor) \ 252 makeFvLaplacianTypeScheme(SS, symmTensor, symmTensor) \ 253 makeFvLaplacianTypeScheme(SS, tensor, symmTensor) \ 254 makeFvLaplacianTypeScheme(SS, scalar, tensor) \ 255 makeFvLaplacianTypeScheme(SS, symmTensor, tensor) \ 256 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.
tmp< surfaceInterpolationScheme< GType > > tinterpGammaScheme_
laplacianScheme(const laplacianScheme &)=delete
No copy construct.
A class for handling words, derived from Foam::string.
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.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...
Mesh data needed to do the Finite Volume discretisation.
void operator=(const laplacianScheme &)=delete
No copy assignment.
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.
Abstract base class for surface interpolation schemes.
tmp< snGradScheme< Type > > tsnGradScheme_
bool eof() const noexcept
True if end of input seen.
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)=0