Loading...
Searching...
No Matches
surfaceInterpolationScheme< Type > Class Template Referenceabstract

Abstract base class for surface interpolation schemes. More...

#include <surfaceInterpolationScheme.H>

Inheritance diagram for surfaceInterpolationScheme< Type >:
Collaboration diagram for surfaceInterpolationScheme< Type >:

Public Member Functions

 TypeName ("surfaceInterpolationScheme")
 Runtime type information.
 declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, MeshFlux,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 surfaceInterpolationScheme (const fvMesh &mesh)
 Construct from mesh.
virtual ~surfaceInterpolationScheme ()=default
 Destructor.
const fvMeshmesh () const
 Return mesh reference.
virtual tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &) const =0
 Return the interpolation weighting factors for the given field.
virtual bool corrected () const
 Return true if this scheme uses an explicit correction.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the explicit correction to the face-interpolate.
virtual tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf) const
 Return the face-interpolate of the given cell field.
tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 Return the face-interpolate of the given tmp cell field.
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the face-interpolate of the given cell field.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 Return the face-interpolate of the given tmp cell field.
template<class SFType>
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< typename SFType::value_type, Type >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas)
tmp< GeometricField< typename innerProduct< vector, scalar >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< scalar, fvPatchField, volMesh > &) const
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< Foam::vector, Foam::scalar >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< scalar, fvPatchField, volMesh > &) const
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.

Static Public Member Functions

static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const tmp< surfaceScalarField > &)
 Return the face-interpolate of the given cell field.
template<class SFType>
static tmp< GeometricField< typename innerProduct< typename SFType::value_type, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas)
 Return the face-interpolate of the given cell field.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &)
 Return the face-interpolate of the given cell field.

Detailed Description

template<class Type>
class Foam::surfaceInterpolationScheme< Type >

Abstract base class for surface interpolation schemes.

Source files

Definition at line 53 of file surfaceInterpolationScheme.H.

Constructor & Destructor Documentation

◆ surfaceInterpolationScheme()

template<class Type>
surfaceInterpolationScheme ( const fvMesh & mesh)
inline

Construct from mesh.

Definition at line 119 of file surfaceInterpolationScheme.H.

References mesh().

Here is the call graph for this function:

◆ ~surfaceInterpolationScheme()

template<class Type>
virtual ~surfaceInterpolationScheme ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "surfaceInterpolationScheme< Type >" )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

template<class Type>
declareRunTimeSelectionTable ( tmp ,
surfaceInterpolationScheme< Type > ,
Mesh ,
(const fvMesh &mesh, Istream &schemeData) ,
(mesh, schemeData)  )

References mesh().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable() [2/2]

template<class Type>
declareRunTimeSelectionTable ( tmp ,
surfaceInterpolationScheme< Type > ,
MeshFlux ,
(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData) ,
(mesh, faceFlux, schemeData)  )

References mesh().

Here is the call graph for this function:

◆ New() [1/2]

◆ New() [2/2]

template<class Type>
Foam::tmp< Foam::surfaceInterpolationScheme< Type > > New ( const fvMesh & mesh,
const surfaceScalarField & faceFlux,
Istream & schemeData )
static

Return new tmp interpolation scheme.

Definition at line 73 of file surfaceInterpolationScheme.C.

References Foam::endl(), IOstream::eof(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, InfoInFunction, and mesh().

Here is the call graph for this function:

◆ mesh()

template<class Type>
const fvMesh & mesh ( ) const
inline

Return mesh reference.

Definition at line 158 of file surfaceInterpolationScheme.H.

Referenced by blended< Type >::blended(), blended< Type >::blended(), blended< Type >::blended(), cellCoBlended< Type >::blendingFactor(), CoBlended< Type >::blendingFactor(), DEShybrid< Type >::blendingFactor(), localBlended< Type >::blendingFactor(), zoneBlended< Type >::blendingFactor(), cellCoBlended< Type >::cellCoBlended(), cellCoBlended< Type >::cellCoBlended(), CentredFitScheme< scalar, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >::CentredFitScheme(), CentredFitScheme< scalar, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >::CentredFitScheme(), clippedLinear< Type >::clippedLinear(), clippedLinear< Type >::clippedLinear(), clippedLinear< Type >::clippedLinear(), CoBlended< Type >::CoBlended(), CoBlended< Type >::CoBlended(), skewCorrected< Type >::corrected(), CentredFitScheme< scalar, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >::correction(), cubic< Type >::correction(), linearUpwind< Type >::correction(), linearUpwind< Type >::correction(), linearUpwindNormal< Type >::correction(), linearUpwindV< Type >::correction(), localBlended< Type >::correction(), outletStabilised< Type >::correction(), pointLinear< Type >::correction(), PureUpwindFitScheme< scalar, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >::correction(), skewCorrected< Type >::correction(), UpwindFitScheme< scalar, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >::correction(), zoneBlended< Type >::correction(), cubic< Type >::cubic(), cubic< Type >::cubic(), cubic< Type >::cubic(), limitedSurfaceInterpolationScheme< Type >::declareRunTimeSelectionTable(), limitedSurfaceInterpolationScheme< Type >::declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), deferredCorrection< Type >::deferredCorrection(), deferredCorrection< Type >::deferredCorrection(), DEShybrid< Type >::DEShybrid(), DEShybrid< Type >::DEShybrid(), downwind< Type >::downwind(), downwind< Type >::downwind(), downwind< Type >::downwind(), multivariateSurfaceInterpolationScheme< Type >::fieldScheme::fieldScheme(), fixedBlended< Type >::fixedBlended(), fixedBlended< Type >::fixedBlended(), localBlended< Type >::interpolate(), localMax< Type >::interpolate(), localMin< Type >::interpolate(), weightedFlux< Type >::interpolate(), LimitedScheme< scalar, filteredLinearLimiter< NVDTVD >, limitFuncs::magSqr >::LimitedScheme(), LimitedScheme< scalar, filteredLinearLimiter< NVDTVD >, limitFuncs::magSqr >::LimitedScheme(), LimitedScheme< scalar, filteredLinearLimiter< NVDTVD >, limitFuncs::magSqr >::LimitedScheme(), limitedSurfaceInterpolationScheme< Type >::limitedSurfaceInterpolationScheme(), limitedSurfaceInterpolationScheme< Type >::limitedSurfaceInterpolationScheme(), blended< Type >::limiter(), LimitedScheme< Type, Limiter, LimitFunc >::limiter(), PhiScheme< Type, PhiLimiter >::limiter(), upwind< Type >::limiter(), limiterBlended< Type >::limiterBlended(), limiterBlended< Type >::limiterBlended(), limitWith< Type >::limitWith(), limitWith< Type >::limitWith(), linear< Type >::linear(), linear< Type >::linear(), linear< Type >::linear(), linearUpwind< Type >::linearUpwind(), linearUpwind< Type >::linearUpwind(), linearUpwind< Type >::linearUpwind(), linearUpwindNormal< Type >::linearUpwindNormal(), linearUpwindNormal< Type >::linearUpwindNormal(), linearUpwindNormal< Type >::linearUpwindNormal(), linearUpwindV< Type >::linearUpwindV(), linearUpwindV< Type >::linearUpwindV(), linearUpwindV< Type >::linearUpwindV(), localBlended< Type >::localBlended(), localBlended< Type >::localBlended(), localMax< Type >::localMax(), localMax< Type >::localMax(), localMax< Type >::localMax(), localMin< Type >::localMin(), localMin< Type >::localMin(), localMin< Type >::localMin(), midPoint< Type >::midPoint(), midPoint< Type >::midPoint(), midPoint< Type >::midPoint(), limitedSurfaceInterpolationScheme< Type >::New(), limitedSurfaceInterpolationScheme< Type >::New(), New(), New(), outletStabilised< Type >::outletStabilised(), outletStabilised< Type >::outletStabilised(), PhiScheme< vector, PhiLimiter >::PhiScheme(), PhiScheme< vector, PhiLimiter >::PhiScheme(), PhiScheme< vector, PhiLimiter >::PhiScheme(), pointLinear< Type >::pointLinear(), pointLinear< Type >::pointLinear(), pointLinear< Type >::pointLinear(), PureUpwindFitScheme< scalar, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >::PureUpwindFitScheme(), PureUpwindFitScheme< scalar, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >::PureUpwindFitScheme(), reverseLinear< Type >::reverseLinear(), reverseLinear< Type >::reverseLinear(), reverseLinear< Type >::reverseLinear(), skewCorrected< Type >::skewCorrected(), skewCorrected< Type >::skewCorrected(), skewCorrected< Type >::skewCorrection(), surfaceInterpolationScheme(), upwind< Type >::upwind(), upwind< Type >::upwind(), upwind< Type >::upwind(), UpwindFitScheme< scalar, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >::UpwindFitScheme(), UpwindFitScheme< scalar, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >::UpwindFitScheme(), weighted< Type >::weighted(), weighted< Type >::weighted(), weighted< Type >::weighted(), weightedFlux< Type >::weightedFlux(), weightedFlux< Type >::weightedFlux(), blended< Type >::weights(), clippedLinear< Type >::weights(), linear< Type >::weights(), localBlended< Type >::weights(), midPoint< Type >::weights(), outletStabilised< Type >::weights(), reverseLinear< Type >::weights(), weightedFlux< Type >::weights(), zoneBlended< Type >::weights(), zoneBlended< Type >::zoneBlended(), and zoneBlended< Type >::zoneBlended().

◆ interpolate() [1/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > interpolate ( const GeometricField< Type, fvPatchField, volMesh > & vf,
const tmp< surfaceScalarField > & tlambdas,
const tmp< surfaceScalarField > & tys )
static

◆ dotInterpolate() [1/6]

template<class Type>
template<class SFType>
tmp< GeometricField< typename innerProduct< typename SFType::value_type, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate ( const SFType & Sf,
const GeometricField< Type, fvPatchField, volMesh > & vf,
const tmp< surfaceScalarField > & tlambdas )
static

Return the face-interpolate of the given cell field.

with the given weighting factors dotted with given field Sf

Referenced by dotInterpolate(), dotInterpolate(), and interpolate().

Here is the caller graph for this function:

◆ interpolate() [2/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > interpolate ( const GeometricField< Type, fvPatchField, volMesh > & vf,
const tmp< surfaceScalarField > & tlambdas )
static

Return the face-interpolate of the given cell field.

with the given weighting factors

Definition at line 304 of file surfaceInterpolationScheme.C.

References dotInterpolate().

Here is the call graph for this function:

◆ weights()

◆ corrected()

template<class Type>
virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented in cellCoBlended< Type >, CentredFitScheme< Type, Polynomial, Stencil >, CentredFitScheme< scalar, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >, CentredFitScheme< sphericalTensor, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >, CentredFitScheme< symmTensor, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >, CentredFitScheme< tensor, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >, CentredFitScheme< vector, biLinearFitPolynomial, centredCFCCellToFaceStencilObject >, CoBlended< Type >, cubic< Type >, deferredCorrection< Type >, DEShybrid< Type >, fixedBlended< Type >, limiterBlended< Type >, limitWith< Type >, linearUpwind< Type >, linearUpwindNormal< Type >, linearUpwindV< Type >, localBlended< Type >, LUST< Type >, outletStabilised< Type >, pointLinear< Type >, PureUpwindFitScheme< Type, Polynomial, Stencil >, PureUpwindFitScheme< scalar, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >, PureUpwindFitScheme< sphericalTensor, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >, PureUpwindFitScheme< symmTensor, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >, PureUpwindFitScheme< tensor, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >, PureUpwindFitScheme< vector, linearFitPolynomial, pureUpwindCFCCellToFaceStencilObject >, skewCorrected< Type >, UpwindFitScheme< Type, Polynomial, Stencil >, UpwindFitScheme< scalar, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >, UpwindFitScheme< sphericalTensor, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >, UpwindFitScheme< symmTensor, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >, UpwindFitScheme< tensor, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >, UpwindFitScheme< vector, cubicUpwindFitPolynomial, upwindCFCCellToFaceStencilObject >, and zoneBlended< Type >.

Definition at line 222 of file surfaceInterpolationScheme.H.

Referenced by dotInterpolate(), and interpolate().

Here is the caller graph for this function:

◆ correction()

◆ dotInterpolate() [2/6]

template<class Type>
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< Foam::vector, Type >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate ( const surfaceVectorField & Sf,
const GeometricField< Type, fvPatchField, volMesh > & vf ) const
virtual

Return the face-interpolate of the given cell field.

with explicit correction dotted with given field Sf

Definition at line 324 of file surfaceInterpolationScheme.C.

References corrected(), correction(), dotInterpolate(), Foam::endl(), InfoInFunction, IOobject::name(), DimensionedField< Type, GeoMesh >::oriented(), and weights().

Here is the call graph for this function:

◆ dotInterpolate() [3/6]

template<class Type>
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< Foam::vector, Type >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate ( const surfaceVectorField & Sf,
const tmp< GeometricField< Type, fvPatchField, volMesh > > & tvf ) const

Return the face-interpolate of the given tmp cell field.

with explicit correction dotted with given field Sf

Definition at line 371 of file surfaceInterpolationScheme.C.

References dotInterpolate().

Here is the call graph for this function:

◆ interpolate() [3/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > interpolate ( const GeometricField< Type, fvPatchField, volMesh > & vf) const
virtual

Return the face-interpolate of the given cell field.

with explicit correction

Reimplemented in cellCoBlended< Type >, CoBlended< Type >, fixedBlended< Type >, limiterBlended< Type >, localBlended< Type >, localMax< Type >, localMin< Type >, and weightedFlux< Type >.

Definition at line 394 of file surfaceInterpolationScheme.C.

References corrected(), correction(), Foam::endl(), InfoInFunction, interpolate(), IOobject::name(), tmp< T >::ref(), and weights().

Here is the call graph for this function:

◆ interpolate() [4/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > interpolate ( const tmp< GeometricField< Type, fvPatchField, volMesh > > & tvf) const

Return the face-interpolate of the given tmp cell field.

with explicit correction

Definition at line 423 of file surfaceInterpolationScheme.C.

References interpolate().

Here is the call graph for this function:

◆ dotInterpolate() [4/6]

template<class Type>
template<class SFType>
Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< typename SFType::value_type, Type >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate ( const SFType & Sf,
const GeometricField< Type, fvPatchField, volMesh > & vf,
const tmp< surfaceScalarField > & tlambdas )

Definition at line 209 of file surfaceInterpolationScheme.C.

◆ dotInterpolate() [5/6]

tmp< GeometricField< typename innerProduct< vector, scalar >::type, fvsPatchField, surfaceMesh > > dotInterpolate ( const surfaceVectorField & Sf,
const GeometricField< scalar, fvPatchField, volMesh > &  ) const

◆ dotInterpolate() [6/6]

Foam::tmp< Foam::GeometricField< typename Foam::innerProduct< Foam::vector, Foam::scalar >::type, Foam::fvsPatchField, Foam::surfaceMesh > > dotInterpolate ( const surfaceVectorField & Sf,
const GeometricField< scalar, fvPatchField, volMesh > &  ) const

Definition at line 68 of file surfaceInterpolationSchemes.C.


The documentation for this class was generated from the following files: