35 #ifndef surfaceInterpolationScheme_H
36 #define surfaceInterpolationScheme_H
69 TypeName(
"surfaceInterpolationScheme");
96 (
mesh, faceFlux, schemeData)
156 template<
class SFType>
259 #define makeSurfaceInterpolationTypeScheme(SS, Type) \
261 defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \
263 surfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \
264 add##SS##Type##MeshConstructorToTable_; \
266 surfaceInterpolationScheme<Type>::addMeshFluxConstructorToTable<SS<Type>> \
267 add##SS##Type##MeshFluxConstructorToTable_;
269 #define makeSurfaceInterpolationScheme(SS) \
271 makeSurfaceInterpolationTypeScheme(SS, scalar) \
272 makeSurfaceInterpolationTypeScheme(SS, vector) \
273 makeSurfaceInterpolationTypeScheme(SS, sphericalTensor) \
274 makeSurfaceInterpolationTypeScheme(SS, symmTensor) \
275 makeSurfaceInterpolationTypeScheme(SS, tensor)
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.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) - 2 >::type type
Reference counter for various OpenFOAM components.
Abstract base class for surface interpolation schemes.
static tmp< SurfaceField< typename innerProduct< typename SFType::value_type, Type >::type > > dotInterpolate(const SFType &Sf, const VolField< Type > &vf, const tmp< surfaceScalarField > &tlambdas)
Return the face-interpolate of the given cell field.
virtual bool corrected() const
Return true if this scheme uses an explicit correction.
surfaceInterpolationScheme(const fvMesh &mesh)
Construct from mesh.
const fvMesh & mesh() const
Return mesh reference.
virtual tmp< SurfaceField< Type > > correction(const VolField< Type > &) const
Return the explicit correction to the face-interpolate.
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &, const tmp< surfaceScalarField > &, const tmp< surfaceScalarField > &)
Return the face-interpolate of the given cell field.
TypeName("surfaceInterpolationScheme")
Runtime type information.
virtual ~surfaceInterpolationScheme()
Destructor.
virtual tmp< surfaceScalarField > weights(const VolField< Type > &) const =0
Return the interpolation weighting factors for the given field.
static tmp< surfaceInterpolationScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return new tmp interpolation scheme.
declareRunTimeSelectionTable(tmp, surfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
void operator=(const surfaceInterpolationScheme &)=delete
Disallow default bitwise assignment.
A class for managing temporary objects.
Macros to ease declaration of run-time selection tables.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...