limitedLnGrad< Type > Class Template Reference

Central-difference lnGrad scheme with limited non-orthogonal correction. More...

Inheritance diagram for limitedLnGrad< Type >:
[legend]
Collaboration diagram for limitedLnGrad< Type >:
[legend]

Public Member Functions

 TypeName ("limited")
 Runtime type information. More...
 
 limitedLnGrad (const faMesh &mesh)
 Construct from mesh. More...
 
 limitedLnGrad (const faMesh &mesh, Istream &is)
 Construct from mesh and data stream. More...
 
virtual ~limitedLnGrad ()
 
virtual tmp< edgeScalarFielddeltaCoeffs (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the interpolation weighting factors for the given field. More...
 
virtual bool corrected () const
 Return true if this scheme uses an explicit correction. More...
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the explicit correction to the limitedLnGrad. More...
 
- Public Member Functions inherited from lnGradScheme< Type >
 declareRunTimeSelectionTable (tmp, lnGradScheme, Mesh,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 lnGradScheme (const faMesh &mesh)
 Construct from mesh. More...
 
virtual ~lnGradScheme ()
 Destructor. More...
 
const faMeshmesh () const
 Return mesh reference. More...
 
virtual tmp< edgeScalarFielddeltaCoeffs (const GeometricField< Type, faPatchField, areaMesh > &) const =0
 Return the interpolation weighting factors for the given field. More...
 
virtual bool corrected () const
 Return true if this scheme uses an explicit correction. More...
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the explicit correction to the lnGrad. More...
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the lnGrad of the given cell field. More...
 
tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const tmp< GeometricField< Type, faPatchField, areaMesh > > &) const
 Return the lnGrad of the given tmp cell field. More...
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int 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 lnGradScheme< Type >
static tmp< lnGradScheme< Type > > New (const faMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
static tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &, const word &snGradName="lnGrad")
 Return the lnGrad of the given cell field. More...
 

Detailed Description

template<class Type>
class Foam::fa::limitedLnGrad< Type >

Central-difference lnGrad 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.

Author Hrvoje Jasak, Wikki Ltd.

Source files

Definition at line 66 of file limitedLnGrad.H.

Constructor & Destructor Documentation

◆ limitedLnGrad() [1/2]

limitedLnGrad ( const faMesh mesh)
inline

Construct from mesh.

Definition at line 91 of file limitedLnGrad.H.

◆ limitedLnGrad() [2/2]

limitedLnGrad ( const faMesh mesh,
Istream is 
)
inline

Construct from mesh and data stream.

Definition at line 98 of file limitedLnGrad.H.

References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.

Here is the call graph for this function:

◆ ~limitedLnGrad()

~limitedLnGrad
virtual

Definition at line 47 of file limitedLnGrad.C.

Member Function Documentation

◆ TypeName()

TypeName ( "limited"  )

Runtime type information.

◆ deltaCoeffs()

virtual tmp< edgeScalarField > deltaCoeffs ( const GeometricField< Type, faPatchField, areaMesh > &  ) const
inlinevirtual

Return the interpolation weighting factors for the given field.

Implements lnGradScheme< Type >.

Definition at line 121 of file limitedLnGrad.H.

References edgeInterpolation::deltaCoeffs(), and lnGradScheme< Type >::mesh().

Here is the call graph for this function:

◆ corrected()

virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented from lnGradScheme< Type >.

Definition at line 130 of file limitedLnGrad.H.

References lnGradScheme< Type >::mesh(), and edgeInterpolation::orthogonal().

Here is the call graph for this function:

◆ correction()

tmp< GeometricField< Type, faePatchField, edgeMesh > > correction ( const GeometricField< Type, faPatchField, areaMesh > &  vf) const
virtual

Return the explicit correction to the limitedLnGrad.

for the given field

Reimplemented from lnGradScheme< Type >.

Definition at line 55 of file limitedLnGrad.C.

References Foam::average(), Foam::correction(), DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimless, Foam::endl(), Foam::Info, Foam::limiter(), Foam::mag(), Foam::max(), mesh, and Foam::min().

Here is the call graph for this function:

The documentation for this class was generated from the following files: