iterativeGaussGrad< Type > Class Template Reference

A second-order gradient scheme using face-interpolation, Gauss' theorem and iterative skew correction. More...

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

Public Member Functions

 TypeName ("iterativeGauss")
 Runtime type information. More...
 
 iterativeGaussGrad (const fvMesh &mesh)
 Construct from mesh. More...
 
 iterativeGaussGrad (const fvMesh &mesh, Istream &schemeData)
 Construct from mesh and Istream. More...
 
virtual tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > calcGrad (const GeometricField< Type, fvPatchField, volMesh > &vsf, const word &name) const
 
- Public Member Functions inherited from gaussGrad< Type >
 TypeName ("Gauss")
 Runtime type information. More...
 
 gaussGrad (const fvMesh &mesh)
 Construct from mesh. More...
 
 gaussGrad (const fvMesh &mesh, Istream &is)
 Construct from mesh and Istream. More...
 
virtual tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > calcGrad (const GeometricField< Type, fvPatchField, volMesh > &vsf, const word &name) const
 
- Public Member Functions inherited from gradScheme< Type >
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (tmp, gradScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 gradScheme (const fvMesh &mesh)
 Construct from mesh. More...
 
virtual ~gradScheme ()=default
 Destructor. More...
 
const fvMeshmesh () const
 Return const reference to mesh. More...
 
virtual tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > calcGrad (const GeometricField< Type, fvPatchField, volMesh > &, const word &name) const =0
 Calculate and return the grad of the given field. More...
 
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad (const GeometricField< Type, fvPatchField, volMesh > &, const word &name) const
 
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad (const GeometricField< Type, fvPatchField, volMesh > &) const
 
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 
- 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 gaussGrad< Type >
static tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > gradf (const GeometricField< Type, fvsPatchField, surfaceMesh > &, const word &name)
 
static void correctBoundaryConditions (const GeometricField< Type, fvPatchField, volMesh > &, GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > &)
 
- Static Public Member Functions inherited from gradScheme< Type >
static tmp< gradScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return a pointer to a new gradScheme created on freestore. More...
 

Detailed Description

template<class Type>
class Foam::fv::iterativeGaussGrad< Type >

A second-order gradient scheme using face-interpolation, Gauss' theorem and iterative skew correction.

Usage
Minimal example by using system/fvSchemes:
gradSchemes
{
    grad(<term>)   iterativeGauss <interpolation scheme> <number of iters>;
}

and by using system/fvSolution:

relaxationFactors
{
    fields
    {
        grad(<term>)    <relaxation factor>;
    }
}
Source files

Definition at line 77 of file iterativeGaussGrad.H.

Constructor & Destructor Documentation

◆ iterativeGaussGrad() [1/2]

iterativeGaussGrad ( const fvMesh mesh)
inline

Construct from mesh.

Definition at line 105 of file iterativeGaussGrad.H.

◆ iterativeGaussGrad() [2/2]

iterativeGaussGrad ( const fvMesh mesh,
Istream schemeData 
)
inline

Construct from mesh and Istream.

Definition at line 112 of file iterativeGaussGrad.H.

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

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "iterativeGauss"  )

Runtime type information.

◆ calcGrad()

Foam::tmp< Foam::GeometricField< typename Foam::outerProduct< Foam::vector, Type >::type, Foam::fvPatchField, Foam::volMesh > > calcGrad ( const GeometricField< Type, fvPatchField, volMesh > &  vsf,
const word name 
) const
virtual

Return the gradient of the given field to the gradScheme::grad for optional caching

Reimplemented from gaussGrad< Type >.

Definition at line 43 of file iterativeGaussGrad.C.

References tmp< T >::cref(), DimensionedField< Type, GeoMesh >::dimensions(), Foam::linearInterpolate(), DimensionedField< Type, GeoMesh >::mesh(), IOobject::name(), Foam::name(), tmp< T >::ref(), and relax().

Here is the call graph for this function:

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