Central-difference snGrad scheme with limited non-orthogonal correction. More...
#include <finiteVolume/limitedSnGrad.H>
Central-difference snGrad scheme with limited 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 uncorrectedSnGrad, when set to 1 the full correction is applied and the scheme behaves as correctedSnGrad and when set to 0.5 the limiter is calculated such that the non-orthogonal contribution does not exceed the orthogonal part.
Definition at line 62 of file limitedSnGrad.H.
Public Member Functions | |
TypeName ("limited") | |
Runtime type information. | |
limitedSnGrad (const fvMesh &mesh) | |
Construct from mesh. | |
limitedSnGrad (const fvMesh &mesh, Istream &is) | |
Construct from mesh and data stream. | |
virtual | ~limitedSnGrad () |
virtual tmp< surfaceScalarField > | deltaCoeffs (const GeometricField< Type, fvPatchField, volMesh > &) const |
Return the interpolation weighting factors for the given field. | |
virtual bool | corrected () const |
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 limitedSnGrad. | |
![]() | |
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 () |
const fvMesh & | mesh () const |
Return mesh reference. | |
virtual tmp< GeometricField < Type, fvsPatchField, surfaceMesh > > | snGrad (const GeometricField< Type, fvPatchField, volMesh > &) const |
Return the snGrad of the given cell field. | |
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | snGrad (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const |
Return the snGrad of the given tmp cell field. | |
![]() | |
refCount () | |
Construct null with zero count. | |
int | count () const |
Return the reference count. | |
bool | okToDelete () const |
Return true if the reference count is zero. | |
void | resetRefCount () |
Reset the reference count to zero. | |
void | operator++ () |
Increment the reference count. | |
void | operator++ (int) |
Increment the reference count. | |
void | operator-- () |
Decrement the reference count. | |
void | operator-- (int) |
Decrement the reference count. |
Additional Inherited Members | |
![]() | |
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 with the given deltaCoeffs. |
|
inline |
Construct from mesh.
Definition at line 86 of file limitedSnGrad.H.
|
inline |
Construct from mesh and data stream.
Definition at line 93 of file limitedSnGrad.H.
References Foam::exit(), Foam::FatalIOError, and FatalIOErrorIn.
|
virtual |
Definition at line 56 of file limitedSnGrad.C.
TypeName | ( | "limited" | ) |
Runtime type information.
|
inlinevirtual |
Return the interpolation weighting factors for the given field.
Implements snGradScheme< Type >.
Definition at line 120 of file limitedSnGrad.H.
References surfaceInterpolation::deltaCoeffs(), and snGradScheme< Type >::mesh().
|
inlinevirtual |
Return true if this scheme uses an explicit correction.
Reimplemented from snGradScheme< Type >.
Definition at line 128 of file limitedSnGrad.H.
References snGradScheme< Type >::mesh(), and surfaceInterpolation::orthogonal().
|
virtual |
Return the explicit correction to the limitedSnGrad.
for the given field
Reimplemented from snGradScheme< Type >.
Definition at line 65 of file limitedSnGrad.C.
References Foam::average(), Foam::correction(), DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimless, Foam::endl(), Foam::Info, GeometricField< Type, PatchField, GeoMesh >::internalField(), Foam::MULES::limiter(), Foam::mag(), Foam::max(), mesh, and Foam::min().