41#ifndef gaussLaplacianScheme_H
42#define gaussLaplacianScheme_H
60template<
class Type,
class GType>
61class gaussLaplacianScheme
74 gaussLaplacianScheme(
const gaussLaplacianScheme&) =
delete;
77 void operator=(
const gaussLaplacianScheme&) =
delete;
147#define defineFvmLaplacianScalarGamma(Type) \
150tmp<fvMatrix<Type>> gaussLaplacianScheme<Type, scalar>::fvmLaplacian \
152 const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \
153 const GeometricField<Type, fvPatchField, volMesh>& \
157tmp<GeometricField<Type, fvPatchField, volMesh>> \
158gaussLaplacianScheme<Type, scalar>::fvcLaplacian \
160 const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \
161 const GeometricField<Type, fvPatchField, volMesh>& \
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.
Basic second-order laplacian using face-gradients and Gauss' theorem.
gaussLaplacianScheme(const fvMesh &mesh, Istream &is)
Construct from Istream.
virtual ~gaussLaplacianScheme()=default
Destructor.
gaussLaplacianScheme(const fvMesh &mesh)
Construct null.
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)
gaussLaplacianScheme(const fvMesh &mesh, const tmp< surfaceInterpolationScheme< GType > > &igs, const tmp< snGradScheme< Type > > &sngs)
Construct from mesh, interpolation and snGradScheme schemes.
TypeName("Gauss")
Runtime type information.
tmp< fvMatrix< Type > > fvmLaplacian(const GeometricField< GType, fvsPatchField, surfaceMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
static tmp< fvMatrix< Type > > fvmLaplacianUncorrected(const surfaceScalarField &gammaMagSf, const surfaceScalarField &deltaCoeffs, const GeometricField< Type, fvPatchField, volMesh > &)
Abstract base class for laplacian schemes.
laplacianScheme(const laplacianScheme &)=delete
No copy construct.
const fvMesh & mesh() const
Return mesh reference.
Abstract base class for runtime selected snGrad surface normal gradient schemes.
Abstract base class for surface interpolation schemes.
Tensor of scalars, i.e. Tensor<scalar>.
A class for managing temporary objects.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
#define defineFvmLaplacianScalarGamma(Type)
Namespace for finite-volume.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
SphericalTensor< scalar > sphericalTensor
SphericalTensor of scalars, i.e. SphericalTensor<scalar>.
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.