Public Member Functions | Static Public Member Functions | List of all members
snGradScheme< Type > Class Template Referenceabstract

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

Inheritance diagram for snGradScheme< Type >:
Inheritance graph
[legend]
Collaboration diagram for snGradScheme< Type >:
Collaboration graph
[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
 Return the explicit correction to the snGrad for the given field. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the snGrad of the given cell field with explicit correction. More...
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const tmp< GeometricField< Type, fvPatchField, volMesh >> &) const
 Return the snGrad of the given tmp cell field with explicit correction. 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...
 

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")
 Return the snGrad of the given cell field by using the given deltaCoeffs. More...
 
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 72 of file snGradScheme.H.

Constructor & Destructor Documentation

◆ snGradScheme()

snGradScheme ( const fvMesh mesh)
inline

Construct from mesh.

Definition at line 122 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 42 of file snGradScheme.C.

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

Referenced by laplacianScheme< Type, GType >::laplacianScheme(), and Foam::fvc::snGrad().

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

◆ mesh()

const fvMesh& mesh ( ) const
inline

◆ snGrad() [1/3]

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

◆ 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 151 of file snGradScheme.C.

References DimensionedField< Type, GeoMesh >::mesh(), and Foam::fvc::snGrad().

Here is the call graph for this function:

◆ deltaCoeffs()

virtual tmp<surfaceScalarField> deltaCoeffs ( const GeometricField< Type, fvPatchField, volMesh > &  ) const
pure virtual

◆ 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 163 of file snGradScheme.C.

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

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 184 of file snGradScheme.C.

References tmp< T >::clear(), and Foam::fvc::snGrad().

Here is the call graph for this function:

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