Surface gradient scheme with limited explicit non-orthogonal correction. More...
Public Member Functions | |
TypeName ("limited") | |
Runtime type information. More... | |
limitedSnGrad (const fvMesh &mesh) | |
Construct from mesh. More... | |
limitedSnGrad (const fvMesh &mesh, Istream &schemeData) | |
Construct from mesh and data stream. More... | |
virtual | ~limitedSnGrad ()=default |
Destructor. More... | |
virtual tmp< surfaceScalarField > | deltaCoeffs (const GeometricField< Type, fvPatchField, volMesh > &) const |
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 limitedSnGrad for the given field. More... | |
Public Member Functions inherited from snGradScheme< Type > | |
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< 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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from snGradScheme< Type > | |
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... | |
Surface gradient scheme with limited explicit non-orthogonal correction.
The limiter is controlled by a coefficient with a value between 0 and 1 which when 0 switches the correction off and the scheme behaves as uncorrected
snGrad
, when set to 1 the full correction of the selected scheme is used and the scheme behaves as corrected
snGrad
, and when set to 0.5 the limiter is calculated such that the non-orthogonal component does not exceed the orthogonal component.
system/fvSchemes
: snGradSchemes { snGrad(<term>) limited <corrected scheme> <coefficient>; // Backward compatibility snGrad(<term>) limited <coefficient>; }
Definition at line 75 of file limitedSnGrad.H.
|
inline |
Construct from mesh.
Definition at line 143 of file limitedSnGrad.H.
|
inline |
Construct from mesh and data stream.
Definition at line 153 of file limitedSnGrad.H.
References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.
|
virtualdefault |
Destructor.
TypeName | ( | "limited" | ) |
Runtime type information.
|
inlinevirtual |
Return the interpolation weighting factors for the given field.
Implements snGradScheme< Type >.
Definition at line 180 of file limitedSnGrad.H.
References snGradScheme< Type >::mesh(), and surfaceInterpolation::nonOrthDeltaCoeffs().
|
inlinevirtualnoexcept |
Return true if this scheme uses an explicit correction.
Reimplemented from snGradScheme< Type >.
Definition at line 190 of file limitedSnGrad.H.
|
virtual |
Return the explicit correction to the limitedSnGrad for the given field.
Reimplemented from snGradScheme< Type >.
Definition at line 44 of file limitedSnGrad.C.
References Foam::average(), Foam::fvc::cellReduce(), Foam::correction(), Foam::ensightOutput::debug, DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimless, Foam::endl(), Foam::Info, InfoInFunction, Foam::limiter(), Foam::mag(), Foam::max(), DimensionedField< Type, GeoMesh >::mesh(), Foam::min(), Foam::name(), IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, IOobject::objectPath(), oldTime, and regIOobject::write().