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 ()
 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
int count () const
 Return the current reference count. More...
 
bool unique () const
 Return true if the reference count is zero. More...
 
void operator++ ()
 Increment the reference count. More...
 
void operator++ (int)
 Increment the reference count. More...
 
void operator-- ()
 Decrement the reference count. More...
 
void operator-- (int)
 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_
 

Additional Inherited Members

- Protected Member Functions inherited from refCount
 refCount ()
 Construct null initializing count to 0. More...
 

Detailed Description

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

Abstract base class for limited surface interpolation schemes.

Source files

Definition at line 49 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 110 of file limitedSurfaceInterpolationScheme.H.

◆ limitedSurfaceInterpolationScheme() [2/2]

limitedSurfaceInterpolationScheme ( const fvMesh mesh,
Istream is 
)
inline

◆ ~limitedSurfaceInterpolationScheme()

Destructor.

Definition at line 133 of file limitedSurfaceInterpolationScheme.C.

References limitedSurfaceInterpolationScheme< Type >::weights().

Referenced by limitedSurfaceInterpolationScheme< Type >::limitedSurfaceInterpolationScheme(), and limitedSurfaceInterpolationScheme< Type >::New().

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

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 36 of file limitedSurfaceInterpolationScheme.C.

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

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

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

◆ New() [2/2]

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

◆ limiter()

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

◆ 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 142 of file limitedSurfaceInterpolationScheme.C.

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

Referenced by limitedSurfaceInterpolationScheme< Type >::limitedSurfaceInterpolationScheme(), and limitedSurfaceInterpolationScheme< Type >::~limitedSurfaceInterpolationScheme().

Here is the call graph for this function:
Here is the caller 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 185 of file limitedSurfaceInterpolationScheme.C.

References limitedSurfaceInterpolationScheme< Type >::flux(), Foam::MULES::limiter(), and mesh.

Here is the call graph for this function:

◆ flux()

Return the interpolation weighting factors.

Definition at line 200 of file limitedSurfaceInterpolationScheme.C.

References Foam::fvc::interpolate().

Referenced by limitedSurfaceInterpolationScheme< Type >::limitedSurfaceInterpolationScheme(), and limitedSurfaceInterpolationScheme< Type >::weights().

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

Member Data Documentation

◆ faceFlux_

const surfaceScalarField& faceFlux_
protected

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