42#ifndef fusedGaussLaplacianScheme_H
43#define fusedGaussLaplacianScheme_H
61template<
class Type,
class GType>
62class fusedGaussLaplacianScheme
70 template<
class E1,
class E2>
71 static void fvmCorrection
87 fusedGaussLaplacianScheme(
const fusedGaussLaplacianScheme&)
91 void operator=(
const fusedGaussLaplacianScheme&) =
delete;
189#define defineFvmLaplacianScalarGamma(Type) \
192tmp<fvMatrix<Type>> fusedGaussLaplacianScheme<Type, scalar>::fvmLaplacian \
194 const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \
195 const GeometricField<Type, fvPatchField, volMesh>& \
199tmp<GeometricField<Type, fvPatchField, volMesh>> \
200fusedGaussLaplacianScheme<Type, scalar>::fvcLaplacian \
202 const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \
203 const GeometricField<Type, fvPatchField, volMesh>& \
212#undef defineFvmLaplacianScalarGamma
216tmp<GeometricField<scalar, fvPatchField, volMesh>>
219 const GeometricField<scalar, fvPatchField, volMesh>&
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcLaplacian(const GeometricField< Type, fvPatchField, volMesh > &)
virtual ~fusedGaussLaplacianScheme()=default
Destructor.
fusedGaussLaplacianScheme(const fvMesh &mesh, Istream &is)
Construct from Istream.
fusedGaussLaplacianScheme(const fvMesh &mesh)
Construct null.
virtual 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 > &)
fusedGaussLaplacianScheme(const fvMesh &mesh, const tmp< surfaceInterpolationScheme< GType > > &igs, const tmp< snGradScheme< Type > > &sngs)
Construct from mesh, interpolation and snGradScheme schemes.
TypeName("fusedGauss")
Runtime type information.
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 of functions to calculate implicit derivatives returning a matrix.
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.