Public Member Functions | List of all members
limitedLnGrad< Type > Class Template Reference

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

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

Public Member Functions

 TypeName ("limited")
 
 limitedLnGrad (const faMesh &mesh)
 
 limitedLnGrad (const faMesh &mesh, Istream &is)
 
virtual ~limitedLnGrad ()
 
virtual tmp< edgeScalarFielddeltaCoeffs (const GeometricField< Type, faPatchField, areaMesh > &) const
 
virtual bool corrected () const
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 
- Public Member Functions inherited from lnGradScheme< Type >
 declareRunTimeSelectionTable (tmp, lnGradScheme, Mesh,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 lnGradScheme (const faMesh &mesh)
 
virtual ~lnGradScheme ()
 
const faMeshmesh () const
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const GeometricField< Type, faPatchField, areaMesh > &) const
 
tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const tmp< GeometricField< Type, faPatchField, areaMesh >> &) const
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 
int count () const noexcept
 
bool unique () const noexcept
 
void operator++ () noexcept
 
void operator++ (int) noexcept
 
void operator-- () noexcept
 
void operator-- (int) noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from lnGradScheme< Type >
static tmp< lnGradScheme< Type > > New (const faMesh &mesh, Istream &schemeData)
 
static tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &, const word &snGradName="lnGrad")
 

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 62 of file limitedLnGrad.H.

Constructor & Destructor Documentation

◆ limitedLnGrad() [1/2]

limitedLnGrad ( const faMesh mesh)
inline

Definition at line 87 of file limitedLnGrad.H.

◆ limitedLnGrad() [2/2]

limitedLnGrad ( const faMesh mesh,
Istream is 
)
inline

Definition at line 94 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 40 of file limitedLnGrad.C.

Member Function Documentation

◆ TypeName()

TypeName ( "limited"  )

◆ deltaCoeffs()

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

Implements lnGradScheme< Type >.

Definition at line 118 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

Reimplemented from lnGradScheme< Type >.

Definition at line 126 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

Reimplemented from lnGradScheme< Type >.

Definition at line 49 of file limitedLnGrad.C.

References Foam::average(), Foam::correction(), Foam::expressions::patchExpr::debug, 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: