Loading...
Searching...
No Matches

LUST: Linear-upwind stabilised transport. More...

#include <LUST.H>

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

Public Member Functions

 TypeName ("LUST")
 Runtime type information.
 LUST (const fvMesh &mesh, Istream &schemeData)
 Construct from mesh and Istream.
 LUST (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Construct from mesh, faceFlux and Istream.
virtual tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &) 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 linearUpwind< Type >
 TypeName ("linearUpwind")
 Runtime type information.
 linearUpwind (const fvMesh &mesh, const surfaceScalarField &faceFlux)
 Construct from faceFlux.
 linearUpwind (const fvMesh &mesh, Istream &schemeData)
 Construct from Istream.
 linearUpwind (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Construct from faceFlux and Istream.
Foam::tmp< Foam::surfaceVectorFieldcorrection (const volVectorField &vf) const
tmp< surfaceVectorFieldcorrection (const volVectorField &vf) const
Public Member Functions inherited from upwind< Type >
 TypeName ("upwind")
 Runtime type information.
 upwind (const fvMesh &mesh, const surfaceScalarField &faceFlux)
 Construct from faceFlux.
 upwind (const fvMesh &mesh, Istream &is)
 Construct from Istream.
 upwind (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &)
 Construct from faceFlux and Istream.
virtual tmp< surfaceScalarFieldlimiter (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation limiter.
tmp< surfaceScalarFieldweights () const
 Return the interpolation weighting factors.
Public Member Functions inherited from limitedSurfaceInterpolationScheme< Type >
 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.
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< 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 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 limitedSurfaceInterpolationScheme< Type >
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 inherited from limitedSurfaceInterpolationScheme< Type >
const surfaceScalarFieldfaceFlux_

Detailed Description

template<class Type>
class Foam::LUST< Type >

LUST: Linear-upwind stabilised transport.

Interpolation scheme class derived from linearUpwind which returns blended linear/linear-upwind weighting factors and also applies a explicit gradient-based correction obtained from the linearUpwind scheme. The blending-factor is set to 0.75 linear which optimises the balance between accuracy and stability on a range of LES cases with a range of mesh quality.

Source files

Definition at line 56 of file LUST.H.

Constructor & Destructor Documentation

◆ LUST() [1/2]

template<class Type>
LUST ( const fvMesh & mesh,
Istream & schemeData )
inline

Construct from mesh and Istream.

Definition at line 86 of file LUST.H.

References mesh.

◆ LUST() [2/2]

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

Construct from mesh, faceFlux and Istream.

Definition at line 98 of file LUST.H.

References mesh.

Member Function Documentation

◆ TypeName()

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

Runtime type information.

◆ weights()

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

Return the interpolation weighting factors.

Reimplemented from upwind< Type >.

Definition at line 114 of file LUST.H.

References mesh, and upwind< Type >::weights().

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 linearUpwind< Type >.

Definition at line 127 of file LUST.H.

◆ 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.

Reimplemented from linearUpwind< Type >.

Definition at line 136 of file LUST.H.

References linearUpwind< Type >::correction().

Here is the call graph for this function:

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