linearUpwind< Type > Class Template Reference

linearUpwind interpolation scheme class derived from upwind and returns upwind weighting factors and also applies a gradient-based explicit correction. More...

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

Public Member Functions

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

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. 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 inherited from limitedSurfaceInterpolationScheme< Type >
const surfaceScalarFieldfaceFlux_
 

Detailed Description

template<class Type>
class Foam::linearUpwind< Type >

linearUpwind interpolation scheme class derived from upwind and returns upwind weighting factors and also applies a gradient-based explicit correction.

Source files

Definition at line 53 of file linearUpwind.H.

Constructor & Destructor Documentation

◆ linearUpwind() [1/3]

linearUpwind ( const fvMesh mesh,
const surfaceScalarField faceFlux 
)
inline

Construct from faceFlux.

Definition at line 89 of file linearUpwind.H.

◆ linearUpwind() [2/3]

linearUpwind ( const fvMesh mesh,
Istream schemeData 
)
inline

Construct from Istream.

The name of the flux field is read from the Istream and looked-up from the mesh objectRegistry

Definition at line 105 of file linearUpwind.H.

◆ linearUpwind() [3/3]

linearUpwind ( const fvMesh mesh,
const surfaceScalarField faceFlux,
Istream schemeData 
)
inline

Construct from faceFlux and Istream.

Definition at line 118 of file linearUpwind.H.

Member Function Documentation

◆ TypeName()

TypeName ( "linearUpwind< Type >"  )

Runtime type information.

◆ corrected()

virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented from surfaceInterpolationScheme< Type >.

Reimplemented in LUST< Type >.

Definition at line 134 of file linearUpwind.H.

◆ correction() [1/3]

◆ correction() [2/3]

◆ correction() [3/3]

tmp< surfaceVectorField > correction ( const volVectorField vf) const

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