49#ifndef Foam_faNVDscheme_H
50#define Foam_faNVDscheme_H
63template<
class Type,
class NVDweight>
162#define makeNVDedgeInterpolationTypeScheme(SS, WEIGHT, NAME, TYPE) \
164typedef faNVDscheme<TYPE, WEIGHT> faNVDscheme##TYPE##WEIGHT_; \
165defineTemplateTypeNameAndDebugWithName(faNVDscheme##TYPE##WEIGHT_, NAME, 0); \
167edgeInterpolationScheme<TYPE>::addMeshConstructorToTable \
168<faNVDscheme<TYPE, WEIGHT>> \
169 add##SS##TYPE##MeshConstructorToTable_; \
171edgeInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \
172<faNVDscheme<TYPE, WEIGHT>> \
173 add##SS##TYPE##MeshFluxConstructorToTable_;
176#define makeNVDedgeInterpolationScheme(SS, WEIGHT, NAME) \
178makeNVDedgeInterpolationTypeScheme(SS, WEIGHT, NAME, scalar) \
179makeNVDedgeInterpolationTypeScheme(SS, WEIGHT, NAME, vector) \
180makeNVDedgeInterpolationTypeScheme(SS, WEIGHT, NAME, tensor)
scalar weight(scalar cdWeight, scalar faceFlux, scalar phiP, scalar phiN, const vector &gradcP, const vector &gradcN, const vector &d) const
Generic GeometricField class.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Abstract base class for edge interpolation schemes.
edgeInterpolationScheme(const edgeInterpolationScheme &)=delete
No copy construct.
const faMesh & mesh() const
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
virtual tmp< edgeScalarField > weights(const GeometricField< Type, faPatchField, areaMesh > &) const
Return the interpolation weighting factors.
faNVDscheme(const faMesh &mesh, Istream &is)
Construct from mesh and Istream.
faNVDscheme(const faMesh &mesh, const edgeScalarField &edgeFlux, const NVDweight &weight)
Construct from mesh and edgeFlux and blendingFactor.
TypeName("faNVDscheme")
Runtime type information.
const edgeScalarField & edgeFlux_
void operator=(const faNVDscheme &)=delete
No copy assignment.
faNVDscheme(const faMesh &mesh, const edgeScalarField &edgeFlux, Istream &is)
Construct from mesh, edgeFlux and Istream.
faNVDscheme(const faNVDscheme &)=delete
No copy construct.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
GeometricField< scalar, faePatchField, edgeMesh > edgeScalarField
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.