Abstract base class for runtime selected snGrad surface normal gradient schemes.
More...
#include <snGradScheme.H>


Public Member Functions | |
| virtual const word & | type () 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 fvMesh & | mesh () const |
| Return const reference to mesh. | |
| virtual tmp< surfaceScalarField > | deltaCoeffs (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. | |
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.
Definition at line 72 of file snGradScheme.H.
|
inline |
Construct from mesh.
Definition at line 122 of file snGradScheme.H.
References mesh().

|
virtualdefault |
Destructor.
|
pure virtual |
Runtime type information.
Referenced by skewCorrectedSnGrad< Type >::fullGradCorrection().

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


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

|
static |
Return the snGrad of the given cell field by using the given deltaCoeffs.
Definition at line 85 of file snGradScheme.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), fvPatchFieldBase::coupled(), deltaCoeffs(), DimensionedField< Type, GeoMesh >::dimensions(), forAll, IOobject::instance(), DimensionedField< Type, GeoMesh >::mesh(), mesh(), IOobject::name(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, tmp< T >::ref(), DimensionedField< Type, GeoMesh >::setOriented(), and fvPatchField< Type >::snGrad().
Referenced by limitedSnGrad< Type >::correction(), sndGrad(), snGrad(), and snGrad().


|
static |
Return the sndGrad of the given cell field.
Definition at line 150 of file snGradScheme.C.
References DimensionedField< Type, GeoMesh >::mesh(), and snGrad().

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

|
inlinevirtualnoexcept |
Return true if this scheme uses an explicit correction.
Reimplemented in CentredFitSnGradScheme< Type, Polynomial, Stencil >, CentredFitSnGradScheme< Foam::scalar, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >, CentredFitSnGradScheme< Foam::sphericalTensor, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >, CentredFitSnGradScheme< Foam::symmTensor, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >, CentredFitSnGradScheme< Foam::tensor, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >, CentredFitSnGradScheme< Foam::vector, Foam::linearFitPolynomial, Foam::centredFECCellToFaceStencilObject >, correctedSnGrad< Type >, faceCorrectedSnGrad< Type >, limitedSnGrad< Type >, orthogonalSnGrad< Type >, relaxedSnGrad< Type >, skewCorrectedSnGrad< Type >, and uncorrectedSnGrad< Type >.
Definition at line 189 of file snGradScheme.H.
References Foam::noexcept.
Referenced by snGrad().

|
inlinevirtual |
Return the explicit correction to the snGrad for the given field.
Reimplemented in CentredFitSnGradScheme< Type, Polynomial, Stencil >, correctedSnGrad< Type >, faceCorrectedSnGrad< Type >, limitedSnGrad< Type >, orthogonalSnGrad< Type >, relaxedSnGrad< Type >, skewCorrectedSnGrad< Type >, and uncorrectedSnGrad< Type >.
Definition at line 198 of file snGradScheme.H.
|
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().

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