Loading...
Searching...
No Matches
outletStabilised< Type > Class Template Reference

Outlet-stabilised interpolation scheme which applies upwind differencing to the faces of the cells adjacent to outlets. More...

#include <outletStabilised.H>

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

Public Member Functions

 TypeName ("outletStabilised")
 Runtime type information.
 outletStabilised (const fvMesh &mesh, Istream &is)
 Construct from mesh and Istream.
 outletStabilised (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is)
 Construct from mesh, faceFlux and Istream.
tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &vf) const
 Return the interpolation weighting factors.
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 > &vf) const
 Return the explicit correction to the face-interpolate.
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 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.

Additional Inherited Members

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.

Detailed Description

template<class Type>
class Foam::outletStabilised< Type >

Outlet-stabilised interpolation scheme which applies upwind differencing to the faces of the cells adjacent to outlets.

This is particularly useful to stabilise the velocity at entrainment boundaries for LES cases using linear or other centred differencing schemes.

Source files

Definition at line 61 of file outletStabilised.H.

Constructor & Destructor Documentation

◆ outletStabilised() [1/2]

template<class Type>
outletStabilised ( const fvMesh & mesh,
Istream & is )
inline

Construct from mesh and Istream.

Definition at line 97 of file outletStabilised.H.

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

Here is the call graph for this function:

◆ outletStabilised() [2/2]

template<class Type>
outletStabilised ( const fvMesh & mesh,
const surfaceScalarField & faceFlux,
Istream & is )
inline

Construct from mesh, faceFlux and Istream.

Definition at line 121 of file outletStabilised.H.

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

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

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

Runtime type information.

◆ weights()

template<class Type>
tmp< surfaceScalarField > weights ( const GeometricField< Type, fvPatchField, volMesh > & vf) const
inlinevirtual

Return the interpolation weighting factors.

Implements surfaceInterpolationScheme< Type >.

Definition at line 142 of file outletStabilised.H.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), cells, forAll, Foam::isA(), surfaceInterpolationScheme< Type >::mesh(), Foam::pos0(), and tmp< T >::ref().

Here is the call graph for this function:

◆ corrected()

template<class Type>
virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented from surfaceInterpolationScheme< Type >.

Definition at line 188 of file outletStabilised.H.

Referenced by correction().

Here is the caller graph for this function:

◆ correction()

template<class Type>
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction ( const GeometricField< Type, fvPatchField, volMesh > & vf) const
inlinevirtual

Return the explicit correction to the face-interpolate.

set to zero on the near-boundary faces where upwind is applied

Reimplemented from surfaceInterpolationScheme< Type >.

Definition at line 199 of file outletStabilised.H.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), cells, corrected(), forAll, Foam::isA(), surfaceInterpolationScheme< Type >::mesh(), tmp< T >::ref(), and Foam::Zero.

Here is the call graph for this function:

The documentation for this class was generated from the following file:
  • src/finiteVolume/interpolation/surfaceInterpolation/schemes/outletStabilised/outletStabilised.H