limitedSurfaceInterpolationScheme< Type > Class Template Referenceabstract

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

Inheritance diagram for limitedSurfaceInterpolationScheme< Type >:
[legend]
Collaboration diagram for limitedSurfaceInterpolationScheme< Type >:
[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 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 54 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 115 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 129 of file limitedSurfaceInterpolationScheme.H.

◆ ~limitedSurfaceInterpolationScheme()

Destructor.

Definition at line 128 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 39 of file limitedSurfaceInterpolationScheme.C.

References Foam::expressions::patchExpr::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 82 of file limitedSurfaceInterpolationScheme.C.

References Foam::expressions::patchExpr::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 137 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 180 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 195 of file limitedSurfaceInterpolationScheme.C.

References Foam::fac::interpolate().

Referenced by isoAdvection::advect().

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

Member Data Documentation

◆ faceFlux_


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