edgeInterpolationScheme< Type > Class Template Referenceabstract

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

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 faMesh &mesh)
 Construct from mesh. More...
 
virtual ~edgeInterpolationScheme ()
 
const faMeshmesh () const
 Return mesh reference. More...
 
virtual tmp< edgeScalarFieldweights (const GeometricField< Type, faPatchField, areaMesh > &) const =0
 Return the interpolation weighting factors for the given field. More...
 
virtual bool corrected () const
 Return true if this scheme uses an explicit correction. More...
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the explicit correction to the face-interpolate. More...
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the face-interpolate of the given cell field. More...
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > euclidianInterpolate (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the euclidian edge-interpolate of the given area field. More...
 
tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const tmp< GeometricField< Type, faPatchField, areaMesh >> &) const
 Return the face-interpolate of the given tmp cell field. More...
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int use_count () const noexcept
 Return the current reference count. More...
 
bool unique () const noexcept
 Return true if the reference count is zero. More...
 
void operator++ () noexcept
 Increment the reference count. More...
 
void operator++ (int) noexcept
 Increment the reference count. More...
 
void operator-- () noexcept
 Decrement the reference count. More...
 
void operator-- (int) noexcept
 Decrement the reference count. More...
 

Static Public Member Functions

static tmp< edgeInterpolationScheme< Type > > New (const faMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
static tmp< edgeInterpolationScheme< Type > > New (const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
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. More...
 
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &)
 Return the face-interpolate of the given cell field. More...
 
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. More...
 

Detailed Description

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

Abstract base class for edge interpolation schemes.

Source files

Definition at line 53 of file edgeInterpolationScheme.H.

Constructor & Destructor Documentation

◆ edgeInterpolationScheme()

edgeInterpolationScheme ( const faMesh mesh)
inline

Construct from mesh.

Definition at line 108 of file edgeInterpolationScheme.H.

◆ ~edgeInterpolationScheme()

Definition at line 122 of file edgeInterpolationScheme.C.

Member Function Documentation

◆ declareRunTimeSelectionTable() [1/2]

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

◆ declareRunTimeSelectionTable() [2/2]

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

◆ New() [1/2]

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

Return new tmp interpolation scheme.

Definition at line 34 of file edgeInterpolationScheme.C.

Referenced by gaussGrad< Type >::gaussGrad(), and laplacianScheme< Type >::laplacianScheme().

Here is the caller graph for this function:

◆ New() [2/2]

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

Return new tmp interpolation scheme.

Definition at line 77 of file edgeInterpolationScheme.C.

◆ mesh()

◆ interpolate() [1/4]

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 131 of file edgeInterpolationScheme.C.

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

Here is the caller graph for this function:

◆ interpolate() [2/4]

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

Return the face-interpolate of the given cell field.

with the given weighting factors

Definition at line 250 of file edgeInterpolationScheme.C.

◆ euclidianInterpolate() [1/2]

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

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

with the given weighting factors

Definition at line 366 of file edgeInterpolationScheme.C.

◆ weights()

◆ corrected()

virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented in skewCorrectedEdgeInterpolation< Type >.

Definition at line 202 of file edgeInterpolationScheme.H.

◆ correction()

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.

◆ interpolate() [3/4]

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 442 of file edgeInterpolationScheme.C.

◆ euclidianInterpolate() [2/2]

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 471 of file edgeInterpolationScheme.C.

◆ interpolate() [4/4]

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 495 of file edgeInterpolationScheme.C.


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