Abstract base class for runtime selected snGrad
surface normal gradient schemes.
More...
Public Member Functions | |
virtual const word & | type () 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 fvMesh & | mesh () const |
Return const reference to mesh. More... | |
virtual tmp< surfaceScalarField > | deltaCoeffs (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... | |
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.
|
virtualdefault |
Destructor.
|
pure virtual |
Runtime type information.
declareRunTimeSelectionTable | ( | tmp | , |
snGradScheme< Type > | , | ||
Mesh | , | ||
(const fvMesh &mesh, Istream &schemeData) | , | ||
(mesh, 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 Foam::fvc::snGrad().
|
inline |
Return const reference to mesh.
Definition at line 151 of file snGradScheme.H.
Referenced by CentredFitSnGradScheme< Type, Polynomial, Stencil >::correction(), CentredFitSnGradScheme< Type, Polynomial, Stencil >::deltaCoeffs(), faceCorrectedSnGrad< Type >::deltaCoeffs(), correctedSnGrad< Type >::deltaCoeffs(), skewCorrectedSnGrad< Type >::deltaCoeffs(), uncorrectedSnGrad< Type >::deltaCoeffs(), orthogonalSnGrad< Type >::deltaCoeffs(), relaxedSnGrad< Type >::deltaCoeffs(), and limitedSnGrad< Type >::deltaCoeffs().
|
static |
Return the snGrad of the given cell field by using the given deltaCoeffs.
Definition at line 86 of file snGradScheme.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), fvPatchFieldBase::coupled(), DimensionedField< Type, GeoMesh >::dimensions(), forAll, IOobject::instance(), mesh, DimensionedField< Type, GeoMesh >::mesh(), IOobject::name(), IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, tmp< T >::ref(), DimensionedField< Type, GeoMesh >::setOriented(), and fvPatchField< Type >::snGrad().
|
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().
|
pure virtual |
Return the interpolation weighting factors for the given field.
Implemented in limitedSnGrad< Type >, relaxedSnGrad< Type >, orthogonalSnGrad< Type >, uncorrectedSnGrad< Type >, skewCorrectedSnGrad< Type >, correctedSnGrad< Type >, faceCorrectedSnGrad< Type >, and CentredFitSnGradScheme< Type, Polynomial, Stencil >.
|
inlinevirtualnoexcept |
Return true if this scheme uses an explicit correction.
Reimplemented in limitedSnGrad< Type >, relaxedSnGrad< Type >, orthogonalSnGrad< Type >, uncorrectedSnGrad< Type >, skewCorrectedSnGrad< Type >, correctedSnGrad< Type >, faceCorrectedSnGrad< Type >, and CentredFitSnGradScheme< Type, Polynomial, Stencil >.
Definition at line 189 of file snGradScheme.H.
|
inlinevirtual |
Return the explicit correction to the snGrad for the given field.
Reimplemented in limitedSnGrad< Type >, relaxedSnGrad< Type >, skewCorrectedSnGrad< Type >, correctedSnGrad< Type >, faceCorrectedSnGrad< Type >, orthogonalSnGrad< Type >, uncorrectedSnGrad< Type >, and CentredFitSnGradScheme< Type, Polynomial, Stencil >.
Definition at line 198 of file snGradScheme.H.
|
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().
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().