snGradScheme< Type > Class Template Referenceabstract

Abstract base class for runtime selected snGrad surface normal gradient schemes. More...

Inheritance diagram for snGradScheme< Type >:
[legend]
Collaboration diagram for snGradScheme< Type >:
[legend]

Public Member Functions

virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (tmp, snGradScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 snGradScheme (const fvMesh &mesh)
 Construct from mesh. More...
 
virtual ~snGradScheme ()=default
 Destructor. More...
 
const fvMeshmesh () const
 Return const reference to mesh. More...
 
virtual tmp< surfaceScalarFielddeltaCoeffs (const GeometricField< Type, fvPatchField, volMesh > &) const =0
 Return the interpolation weighting factors for the given field. More...
 
virtual bool corrected () const noexcept
 Return true if this scheme uses an explicit correction. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction (const GeometricField< Type, fvPatchField, volMesh > &) const
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const GeometricField< Type, fvPatchField, volMesh > &) const
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int 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...
 

Static Public Member Functions

static tmp< snGradScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const word &snGradName="snGrad")
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > sndGrad (const GeometricField< Type, fvPatchField, volMesh > &, const word &snGradName="sndGrad")
 Return the sndGrad of the given cell field. More...
 

Detailed Description

template<class Type>
class Foam::fv::snGradScheme< Type >

Abstract base class for runtime selected snGrad surface normal gradient schemes.

A surface normal gradient is evaluated at a cell face. It is the normal-to-face component of the gradient of values at the centres of two cells that the face connects.

Unit-surface-normal vector decomposition is based on the so-called over-relaxed approach. Orthogonal components are treated implicitly and non-orthogonal components are treated explicitly with (or without) various limiters.

Source files

Definition at line 76 of file snGradScheme.H.

Constructor & Destructor Documentation

◆ snGradScheme()

snGradScheme ( const fvMesh mesh)
inline

Construct from mesh.

Definition at line 116 of file snGradScheme.H.

◆ ~snGradScheme()

virtual ~snGradScheme ( )
virtualdefault

Destructor.

Member Function Documentation

◆ type()

virtual const word & type ( ) const
pure virtual

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( tmp  ,
snGradScheme< Type >  ,
Mesh  ,
(const fvMesh &mesh, Istream &schemeData)  ,
(mesh, schemeData)   
)

◆ New()

tmp< snGradScheme< Type > > New ( const fvMesh mesh,
Istream schemeData 
)
static

Return new tmp interpolation scheme.

Definition at line 48 of file snGradScheme.C.

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

Here is the call graph for this function:

◆ mesh()

◆ snGrad() [1/3]

tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad ( const GeometricField< Type, fvPatchField, volMesh > &  vf,
const tmp< surfaceScalarField > &  tdeltaCoeffs,
const word snGradName = "snGrad" 
)
static

Return the snGrad of the given cell field by using the given deltaCoeffs

Definition at line 92 of file snGradScheme.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), fvPatchField< Type >::coupled(), DimensionedField< Type, GeoMesh >::dimensions(), forAll, IOobject::instance(), mesh, DimensionedField< Type, GeoMesh >::mesh(), IOobject::name(), IOobject::NO_READ, IOobject::NO_WRITE, tmp< T >::ref(), DimensionedField< Type, GeoMesh >::setOriented(), and fvPatchField< Type >::snGrad().

Here is the call graph for this function:

◆ sndGrad()

tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > sndGrad ( const GeometricField< Type, fvPatchField, volMesh > &  vf,
const word snGradName = "sndGrad" 
)
static

Return the sndGrad of the given cell field.

Definition at line 157 of file snGradScheme.C.

References DimensionedField< Type, GeoMesh >::mesh().

Here is the call graph for this function:

◆ deltaCoeffs()

◆ corrected()

virtual bool corrected ( ) const
inlinevirtualnoexcept

◆ correction()

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

◆ snGrad() [2/3]

tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad ( const GeometricField< Type, fvPatchField, volMesh > &  vf) const
virtual

Return the snGrad of the given cell field with explicit correction

Definition at line 169 of file snGradScheme.C.

References Foam::correction(), and tmp< T >::ref().

Here is the call graph for this function:

◆ snGrad() [3/3]

tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad ( const tmp< GeometricField< Type, fvPatchField, volMesh > > &  tvf) const

Return the snGrad of the given tmp cell field with explicit correction

Definition at line 190 of file snGradScheme.C.

References tmp< T >::clear().

Here is the call graph for this function:

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