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

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

#include <limitedSurfaceInterpolationScheme.H>

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

Public Member Functions

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

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]

template<class Type>
limitedSurfaceInterpolationScheme ( const fvMesh & mesh,
const surfaceScalarField & faceFlux )
inline

Construct from mesh and faceFlux.

Definition at line 118 of file limitedSurfaceInterpolationScheme.H.

References faceFlux_, and surfaceInterpolationScheme< Type >::mesh().

Here is the call graph for this function:

◆ limitedSurfaceInterpolationScheme() [2/2]

template<class Type>
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 135 of file limitedSurfaceInterpolationScheme.H.

References faceFlux_, and surfaceInterpolationScheme< Type >::mesh().

Here is the call graph for this function:

◆ ~limitedSurfaceInterpolationScheme()

template<class Type>
~limitedSurfaceInterpolationScheme ( )
virtual

Destructor.

Definition at line 120 of file limitedSurfaceInterpolationScheme.C.

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "limitedSurfaceInterpolationScheme< Type >" )

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

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

References surfaceInterpolationScheme< Type >::mesh().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable() [2/2]

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

References surfaceInterpolationScheme< Type >::mesh().

Here is the call graph for this function:

◆ New() [1/2]

◆ New() [2/2]

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

Return new tmp interpolation scheme.

Definition at line 74 of file limitedSurfaceInterpolationScheme.C.

References Foam::endl(), IOstream::eof(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, InfoInFunction, and surfaceInterpolationScheme< Type >::mesh().

Here is the call graph for this function:

◆ limiter()

template<class Type>
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 weights().

Here is the caller graph for this function:

◆ weights() [1/2]

template<class Type>
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 129 of file limitedSurfaceInterpolationScheme.C.

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

Referenced by weights().

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

◆ weights() [2/2]

template<class Type>
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 >, LUST< Type >, and upwind< Type >.

Definition at line 172 of file limitedSurfaceInterpolationScheme.C.

References limiter(), mesh, phi, weights(), and surfaceInterpolation::weights().

Here is the call graph for this function:

◆ flux()

template<class Type>
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > flux ( const GeometricField< Type, fvPatchField, volMesh > & phi) const
virtual

Return the interpolation weighting factors.

Definition at line 187 of file limitedSurfaceInterpolationScheme.C.

References faceFlux_, interpolate(), and phi.

Referenced by isoAdvection::advect(), and Foam::MULES::limit().

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: