Loading...
Searching...
No Matches
snGradScheme< Type > Class Template Referenceabstract

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

#include <snGradScheme.H>

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

Public Member Functions

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

Static Public Member Functions

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

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()

template<class Type>
snGradScheme ( const fvMesh & mesh)
inline

Construct from mesh.

Definition at line 122 of file snGradScheme.H.

References mesh().

Here is the call graph for this function:

◆ ~snGradScheme()

template<class Type>
virtual ~snGradScheme ( )
virtualdefault

Destructor.

Member Function Documentation

◆ type()

template<class Type>
virtual const word & type ( ) const
pure virtual

Runtime type information.

Referenced by skewCorrectedSnGrad< Type >::fullGradCorrection().

Here is the caller graph for this function:

◆ declareRunTimeSelectionTable()

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

References mesh().

Here is the call graph for this function:

◆ New()

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

Return new tmp interpolation scheme.

Definition at line 41 of file snGradScheme.C.

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

Referenced by skewCorrectedSnGrad< Type >::correction(), skewCorrectedSnGrad< Type >::fullGradCorrection(), and Foam::fvc::snGrad().

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

◆ mesh()

template<class Type>
const fvMesh & mesh ( ) const
inline

Return const reference to mesh.

Definition at line 151 of file snGradScheme.H.

Referenced by CentredFitSnGradScheme< Foam::scalar, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >::CentredFitSnGradScheme(), correctedSnGrad< Type >::correctedSnGrad(), correctedSnGrad< Type >::correctedSnGrad(), CentredFitSnGradScheme< Foam::scalar, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >::correction(), correctedSnGrad< Type >::correction(), faceCorrectedSnGrad< Type >::correction(), skewCorrectedSnGrad< Type >::correction(), declareRunTimeSelectionTable(), CentredFitSnGradScheme< Foam::scalar, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >::deltaCoeffs(), correctedSnGrad< Type >::deltaCoeffs(), faceCorrectedSnGrad< Type >::deltaCoeffs(), limitedSnGrad< Type >::deltaCoeffs(), orthogonalSnGrad< Type >::deltaCoeffs(), relaxedSnGrad< Type >::deltaCoeffs(), skewCorrectedSnGrad< Type >::deltaCoeffs(), uncorrectedSnGrad< Type >::deltaCoeffs(), faceCorrectedSnGrad< Type >::faceCorrectedSnGrad(), faceCorrectedSnGrad< Type >::faceCorrectedSnGrad(), correctedSnGrad< Type >::fullGradCorrection(), faceCorrectedSnGrad< Type >::fullGradCorrection(), skewCorrectedSnGrad< Type >::fullGradCorrection(), limitedSnGrad< Type >::limitedSnGrad(), limitedSnGrad< Type >::limitedSnGrad(), New(), orthogonalSnGrad< Type >::orthogonalSnGrad(), orthogonalSnGrad< Type >::orthogonalSnGrad(), relaxedSnGrad< Type >::relaxedSnGrad(), relaxedSnGrad< Type >::relaxedSnGrad(), skewCorrectedSnGrad< Type >::skewCorrectedSnGrad(), skewCorrectedSnGrad< Type >::skewCorrectedSnGrad(), snGrad(), snGradScheme(), uncorrectedSnGrad< Type >::uncorrectedSnGrad(), and uncorrectedSnGrad< Type >::uncorrectedSnGrad().

Here is the caller graph for this function:

◆ snGrad() [1/3]

◆ sndGrad()

template<class Type>
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 150 of file snGradScheme.C.

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

Here is the call graph for this function:

◆ deltaCoeffs()

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

Return the interpolation weighting factors for the given field.

Implemented in CentredFitSnGradScheme< Type, Polynomial, Stencil >, correctedSnGrad< Type >, faceCorrectedSnGrad< Type >, limitedSnGrad< Type >, orthogonalSnGrad< Type >, relaxedSnGrad< Type >, skewCorrectedSnGrad< Type >, and uncorrectedSnGrad< Type >.

Referenced by snGrad(), and snGrad().

Here is the caller graph for this function:

◆ corrected()

◆ correction()

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

◆ snGrad() [2/3]

template<class Type>
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 162 of file snGradScheme.C.

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

Here is the call graph for this function:

◆ snGrad() [3/3]

template<class Type>
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 183 of file snGradScheme.C.

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

Here is the call graph for this function:

The documentation for this class was generated from the following files:
  • src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H
  • src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.C