Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
limitedSurfaceInterpolationScheme< Type > Class Template Referenceabstract

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

Inheritance diagram for limitedSurfaceInterpolationScheme< Type >:
Inheritance graph
[legend]
Collaboration diagram for limitedSurfaceInterpolationScheme< Type >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("limitedSurfaceInterpolationScheme")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (tmp, limitedSurfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 declareRunTimeSelectionTable (tmp, limitedSurfaceInterpolationScheme, MeshFlux,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 
 limitedSurfaceInterpolationScheme (const fvMesh &mesh, const surfaceScalarField &faceFlux)
 Construct from mesh and faceFlux. More...
 
 limitedSurfaceInterpolationScheme (const fvMesh &mesh, Istream &is)
 Construct from mesh and Istream. More...
 
virtual ~limitedSurfaceInterpolationScheme ()
 Destructor. More...
 
virtual tmp< surfaceScalarFieldlimiter (const GeometricField< Type, fvPatchField, volMesh > &) const =0
 Return the interpolation weighting factors. More...
 
tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &, const surfaceScalarField &CDweights, tmp< surfaceScalarField > tLimiter) const
 Return the interpolation weighting factors for the given field,. More...
 
virtual tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation weighting factors for the given field. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation weighting factors. More...
 
- Public Member Functions inherited from surfaceInterpolationScheme< Type >
 TypeName ("surfaceInterpolationScheme")
 Runtime type information. More...
 
 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. More...
 
virtual ~surfaceInterpolationScheme ()=default
 Destructor. More...
 
const fvMeshmesh () const
 Return mesh reference. More...
 
virtual bool corrected () const
 Return true if this scheme uses an explicit correction. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the explicit correction to the face-interpolate. More...
 
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. More...
 
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. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the face-interpolate of the given cell field. More...
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh >> &) 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< limitedSurfaceInterpolationScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
static tmp< limitedSurfaceInterpolationScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
- Static Public Member Functions inherited from surfaceInterpolationScheme< Type >
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
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. More...
 
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. More...
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &)
 Return the face-interpolate of the given cell field. More...
 

Protected Attributes

const surfaceScalarFieldfaceFlux_
 

Detailed Description

template<class Type>
class Foam::limitedSurfaceInterpolationScheme< Type >

Abstract base class for limited surface interpolation schemes.

Source files

Definition at line 50 of file limitedSurfaceInterpolationScheme.H.

Constructor & Destructor Documentation

◆ limitedSurfaceInterpolationScheme() [1/2]

limitedSurfaceInterpolationScheme ( const fvMesh mesh,
const surfaceScalarField faceFlux 
)
inline

Construct from mesh and faceFlux.

Definition at line 119 of file limitedSurfaceInterpolationScheme.H.

◆ limitedSurfaceInterpolationScheme() [2/2]

limitedSurfaceInterpolationScheme ( const fvMesh mesh,
Istream is 
)
inline

Construct from mesh and Istream.

The name of the flux field is read from the Istream and looked-up from the mesh objectRegistry

Definition at line 136 of file limitedSurfaceInterpolationScheme.H.

◆ ~limitedSurfaceInterpolationScheme()

Destructor.

Definition at line 121 of file limitedSurfaceInterpolationScheme.C.

Member Function Documentation

◆ TypeName()

TypeName ( "limitedSurfaceInterpolationScheme< Type >"  )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

declareRunTimeSelectionTable ( tmp  ,
limitedSurfaceInterpolationScheme< Type >  ,
Mesh  ,
(const fvMesh &mesh, Istream &schemeData)  ,
(mesh, schemeData)   
)

◆ declareRunTimeSelectionTable() [2/2]

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

◆ New() [1/2]

Foam::tmp< Foam::limitedSurfaceInterpolationScheme< Type > > New ( const fvMesh mesh,
Istream schemeData 
)
static

Return new tmp interpolation scheme.

Definition at line 32 of file limitedSurfaceInterpolationScheme.C.

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

Here is the call graph for this function:

◆ New() [2/2]

Foam::tmp< Foam::limitedSurfaceInterpolationScheme< Type > > New ( const fvMesh mesh,
const surfaceScalarField faceFlux,
Istream schemeData 
)
static

Return new tmp interpolation scheme.

Definition at line 75 of file limitedSurfaceInterpolationScheme.C.

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

Here is the call graph for this function:

◆ limiter()

virtual tmp<surfaceScalarField> limiter ( const GeometricField< Type, fvPatchField, volMesh > &  ) const
pure virtual

Return the interpolation weighting factors.

Implemented in blended< Type >, LimitedScheme< Type, Limiter, LimitFunc >, PhiScheme< Type, PhiLimiter >, and upwind< Type >.

Referenced by multivariateSelectionScheme< Type >::multivariateSelectionScheme().

Here is the caller graph for this function:

◆ weights() [1/2]

Foam::tmp< Foam::surfaceScalarField > weights ( const GeometricField< Type, fvPatchField, volMesh > &  phi,
const surfaceScalarField CDweights,
tmp< surfaceScalarField tLimiter 
) const

Return the interpolation weighting factors for the given field,.

by limiting the given weights with the given limiter

Definition at line 130 of file limitedSurfaceInterpolationScheme.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), forAll, Foam::pos0(), GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), and tmp< T >::ref().

Here is the call graph for this function:

◆ weights() [2/2]

Foam::tmp< Foam::surfaceScalarField > weights ( const GeometricField< Type, fvPatchField, volMesh > &  phi) const
virtual

Return the interpolation weighting factors for the given field.

Implements surfaceInterpolationScheme< Type >.

Reimplemented in blended< Type >, upwind< Type >, and LUST< Type >.

Definition at line 173 of file limitedSurfaceInterpolationScheme.C.

References Foam::limiter(), mesh, and phi.

Here is the call graph for this function:

◆ flux()

Return the interpolation weighting factors.

Definition at line 188 of file limitedSurfaceInterpolationScheme.C.

References Foam::fac::interpolate().

Here is the call graph for this function:

Member Data Documentation

◆ faceFlux_

const surfaceScalarField& faceFlux_
protected

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