Loading...
Searching...
No Matches
limitedLnGrad< Type > Class Template Reference

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

#include <limitedLnGrad.H>

Inheritance diagram for limitedLnGrad< Type >:
Collaboration diagram for limitedLnGrad< Type >:

Public Member Functions

 TypeName ("limited")
 Runtime type information.
 limitedLnGrad (const limitedLnGrad &)=delete
 No copy construct.
void operator= (const limitedLnGrad &)=delete
 No copy assignment.
 limitedLnGrad (const faMesh &mesh)
 Construct from mesh.
 limitedLnGrad (const faMesh &mesh, Istream &is)
 Construct from mesh and data stream.
virtual ~limitedLnGrad ()
virtual tmp< edgeScalarFielddeltaCoeffs (const GeometricField< Type, faPatchField, areaMesh > &) 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, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the explicit correction to the limitedLnGrad.
Public Member Functions inherited from lnGradScheme< Type >
 declareRunTimeSelectionTable (tmp, lnGradScheme, Mesh,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
 lnGradScheme (const lnGradScheme &)=delete
 No copy construct.
void operator= (const lnGradScheme &)=delete
 No copy assignment.
 lnGradScheme (const faMesh &mesh)
 Construct from mesh.
virtual ~lnGradScheme ()
 Destructor.
const faMeshmesh () const noexcept
 Return mesh reference.
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const GeometricField< Type, faPatchField, areaMesh > &) const
 Return the lnGrad of the given cell field.
tmp< GeometricField< Type, faePatchField, edgeMesh > > lnGrad (const tmp< GeometricField< Type, faPatchField, areaMesh > > &) const
 Return the lnGrad of the given tmp cell field.
Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0.
int use_count () const noexcept
 Return the current reference count.
bool unique () const noexcept
 Return true if the reference count is zero.
void operator++ () noexcept
 Increment the reference count.
void operator++ (int) noexcept
 Increment the reference count.
void operator-- () noexcept
 Decrement the reference count.
void operator-- (int) noexcept
 Decrement the reference count.

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.
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.

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/3]

template<class Type>
limitedLnGrad ( const limitedLnGrad< Type > & )
delete

No copy construct.

References limitedLnGrad().

Referenced by limitedLnGrad(), and operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ limitedLnGrad() [2/3]

template<class Type>
limitedLnGrad ( const faMesh & mesh)
inline

Construct from mesh.

Definition at line 100 of file limitedLnGrad.H.

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

Here is the call graph for this function:

◆ limitedLnGrad() [3/3]

template<class Type>
limitedLnGrad ( const faMesh & mesh,
Istream & is )
inline

Construct from mesh and data stream.

Definition at line 109 of file limitedLnGrad.H.

References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, lnGradScheme< Type >::lnGradScheme(), and lnGradScheme< Type >::mesh().

Here is the call graph for this function:

◆ ~limitedLnGrad()

template<class Type>
~limitedLnGrad ( )
virtual

Definition at line 40 of file limitedLnGrad.C.

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "limited" )

Runtime type information.

◆ operator=()

template<class Type>
void operator= ( const limitedLnGrad< Type > & )
delete

No copy assignment.

References limitedLnGrad().

Here is the call graph for this function:

◆ deltaCoeffs()

template<class Type>
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 134 of file limitedLnGrad.H.

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

Referenced by correction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ corrected()

template<class Type>
virtual bool corrected ( ) const
inlinevirtual

Return true if this scheme uses an explicit correction.

Reimplemented from lnGradScheme< Type >.

Definition at line 145 of file limitedLnGrad.H.

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

Here is the call graph for this function:

◆ correction()

template<class Type>
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 48 of file limitedLnGrad.C.

References Foam::average(), Foam::correction(), deltaCoeffs(), DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimless, Foam::endl(), Foam::Info, Foam::limiter(), lnGradScheme< Type >::lnGrad(), 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: