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

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

#include <edgeInterpolationScheme.H>

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

Public Member Functions

 declareRunTimeSelectionTable (tmp, edgeInterpolationScheme, Mesh,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
 declareRunTimeSelectionTable (tmp, edgeInterpolationScheme, MeshFlux,(const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 edgeInterpolationScheme (const edgeInterpolationScheme &)=delete
 No copy construct.
void operator= (const edgeInterpolationScheme &)=delete
 No copy assignment.
 edgeInterpolationScheme (const faMesh &mesh)
 Construct from mesh.
virtual ~edgeInterpolationScheme ()
const faMeshmesh () const
 Return mesh reference.
virtual tmp< edgeScalarFieldweights (const GeometricField< Type, faPatchField, areaMesh > &) 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, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the explicit correction to the face-interpolate.
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the face-interpolate of the given cell field.
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > euclidianInterpolate (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the euclidian edge-interpolate of the given area field.
tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const tmp< GeometricField< Type, faPatchField, areaMesh > > &) const
 Return the face-interpolate of the given tmp cell field.
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< edgeInterpolationScheme< Type > > New (const faMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< edgeInterpolationScheme< Type > > New (const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &, const tmp< edgeScalarField > &)
 Return the face-interpolate of the given cell field.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &)
 Return the face-interpolate of the given cell field.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > euclidianInterpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &)
 Return the euclidian edge-interpolate of the given area field.

Detailed Description

template<class Type>
class Foam::edgeInterpolationScheme< Type >

Abstract base class for edge interpolation schemes.

Source files

Definition at line 51 of file edgeInterpolationScheme.H.

Constructor & Destructor Documentation

◆ edgeInterpolationScheme() [1/2]

◆ edgeInterpolationScheme() [2/2]

template<class Type>
edgeInterpolationScheme ( const faMesh & mesh)
inline

Construct from mesh.

Definition at line 111 of file edgeInterpolationScheme.H.

References mesh().

Here is the call graph for this function:

◆ ~edgeInterpolationScheme()

template<class Type>
~edgeInterpolationScheme ( )
virtual

Definition at line 120 of file edgeInterpolationScheme.C.

Member Function Documentation

◆ declareRunTimeSelectionTable() [1/2]

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

References edgeInterpolationScheme(), and mesh().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable() [2/2]

template<class Type>
declareRunTimeSelectionTable ( tmp ,
edgeInterpolationScheme< Type > ,
MeshFlux ,
(const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData) ,
(mesh, faceFlux, schemeData)  )

References edgeInterpolationScheme(), and mesh().

Here is the call graph for this function:

◆ operator=()

template<class Type>
void operator= ( const edgeInterpolationScheme< Type > & )
delete

No copy assignment.

References edgeInterpolationScheme().

Here is the call graph for this function:

◆ New() [1/2]

template<class Type>
Foam::tmp< Foam::edgeInterpolationScheme< Type > > New ( const faMesh & mesh,
Istream & schemeData )
static

Return new tmp interpolation scheme.

Definition at line 31 of file edgeInterpolationScheme.C.

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

Referenced by skewCorrectedEdgeInterpolation< Type >::skewCorrectedEdgeInterpolation(), and skewCorrectedEdgeInterpolation< Type >::skewCorrectedEdgeInterpolation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ New() [2/2]

template<class Type>
Foam::tmp< Foam::edgeInterpolationScheme< Type > > New ( const faMesh & mesh,
const edgeScalarField & faceFlux,
Istream & schemeData )
static

Return new tmp interpolation scheme.

Definition at line 74 of file edgeInterpolationScheme.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 faMesh & mesh ( ) const
inline

Return mesh reference.

Definition at line 149 of file edgeInterpolationScheme.H.

Referenced by blendedEdgeInterpolation< Type >::blendedEdgeInterpolation(), blendedEdgeInterpolation< Type >::blendedEdgeInterpolation(), blendedEdgeInterpolation< Type >::blendedEdgeInterpolation(), skewCorrectedEdgeInterpolation< Type >::corrected(), skewCorrectedEdgeInterpolation< Type >::correction(), declareRunTimeSelectionTable(), declareRunTimeSelectionTable(), edgeInterpolationScheme(), euclidianInterpolate(), interpolate(), leastSquaresEdgeInterpolation< Type >::interpolate(), leastSquaresEdgeInterpolation< Type >::leastSquaresEdgeInterpolation(), leastSquaresEdgeInterpolation< Type >::leastSquaresEdgeInterpolation(), leastSquaresEdgeInterpolation< Type >::leastSquaresEdgeInterpolation(), linearEdgeInterpolation< Type >::linearEdgeInterpolation(), linearEdgeInterpolation< Type >::linearEdgeInterpolation(), linearEdgeInterpolation< Type >::linearEdgeInterpolation(), New(), New(), skewCorrectedEdgeInterpolation< Type >::skewCorrectedEdgeInterpolation(), skewCorrectedEdgeInterpolation< Type >::skewCorrectedEdgeInterpolation(), skewCorrectedEdgeInterpolation< Type >::skewCorrection(), upwindEdgeInterpolation< Type >::upwindEdgeInterpolation(), upwindEdgeInterpolation< Type >::upwindEdgeInterpolation(), upwindEdgeInterpolation< Type >::upwindEdgeInterpolation(), faNVDscheme< Type, NVDweight >::weights(), leastSquaresEdgeInterpolation< Type >::weights(), and linearEdgeInterpolation< Type >::weights().

Here is the caller graph for this function:

◆ interpolate() [1/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::faePatchField, Foam::edgeMesh > > interpolate ( const GeometricField< Type, faPatchField, areaMesh > & vf,
const tmp< edgeScalarField > & tlambdas,
const tmp< edgeScalarField > & tys )
static

Return the face-interpolate of the given cell field.

with the given owner and neighbour weighting factors

Definition at line 128 of file edgeInterpolationScheme.C.

References InfoInFunction, and IOobject::name().

Referenced by Foam::linearEdgeInterpolate(), and skewCorrectedEdgeInterpolation< Type >::skewCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolate() [2/4]

◆ euclidianInterpolate() [1/2]

◆ weights()

template<class Type>
virtual tmp< edgeScalarField > weights ( const GeometricField< Type, faPatchField, areaMesh > & ) const
pure virtual

◆ corrected()

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

Return true if this scheme uses an explicit correction.

Reimplemented in skewCorrectedEdgeInterpolation< Type >.

Definition at line 205 of file edgeInterpolationScheme.H.

Referenced by interpolate().

Here is the caller graph for this function:

◆ correction()

template<class Type>
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction ( const GeometricField< Type, faPatchField, areaMesh > & ) const
inlinevirtual

Return the explicit correction to the face-interpolate.

for the given field

Reimplemented in skewCorrectedEdgeInterpolation< Type >.

Definition at line 213 of file edgeInterpolationScheme.H.

Referenced by interpolate().

Here is the caller graph for this function:

◆ interpolate() [3/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::faePatchField, Foam::edgeMesh > > interpolate ( const GeometricField< Type, faPatchField, areaMesh > & vf) const
virtual

Return the face-interpolate of the given cell field.

with explicit correction

Reimplemented in leastSquaresEdgeInterpolation< Type >.

Definition at line 439 of file edgeInterpolationScheme.C.

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

Here is the call graph for this function:

◆ euclidianInterpolate() [2/2]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::faePatchField, Foam::edgeMesh > > euclidianInterpolate ( const GeometricField< Type, faPatchField, areaMesh > & vf) const
virtual

Return the euclidian edge-interpolate of the given area field.

without explicit correction

Definition at line 468 of file edgeInterpolationScheme.C.

References Foam::endl(), euclidianInterpolate(), InfoInFunction, IOobject::name(), and weights().

Here is the call graph for this function:

◆ interpolate() [4/4]

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::faePatchField, Foam::edgeMesh > > interpolate ( const tmp< GeometricField< Type, faPatchField, areaMesh > > & tvf) const

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

with explicit correction

Definition at line 492 of file edgeInterpolationScheme.C.

References interpolate().

Here is the call graph for this function:

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