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

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

#include <iterativeGaussGrad.H>

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

Public Member Functions

 TypeName ("iterativeGauss")
 Runtime type information.
 iterativeGaussGrad (const fvMesh &mesh)
 Construct from mesh.
 iterativeGaussGrad (const fvMesh &mesh, Istream &schemeData)
 Construct from mesh and Istream.
virtual tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > calcGrad (const GeometricField< Type, fvPatchField, volMesh > &vsf, const word &name) const
 Return the gradient of the given field to the gradScheme::grad for optional caching.
Public Member Functions inherited from gaussGrad< Type >
 TypeName ("Gauss")
 Runtime type information.
 gaussGrad (const fvMesh &mesh)
 Construct from mesh.
 gaussGrad (const fvMesh &mesh, Istream &is)
 Construct from mesh and Istream.
virtual void calcGrad (GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > &res, const GeometricField< Type, fvPatchField, volMesh > &) const
 Calculate the grad of the given field into supplied field.
Public Member Functions inherited from gradScheme< Type >
virtual const wordtype () const =0
 Runtime type information.
 declareRunTimeSelectionTable (tmp, gradScheme, Istream,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 gradScheme (const fvMesh &mesh)
 Construct from mesh.
virtual ~gradScheme ()=default
 Destructor.
const fvMeshmesh () const
 Return const reference to mesh.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad (const GeometricField< Type, fvPatchField, volMesh > &, const word &name) const
 Calculate and return the grad of the given field which may have been cached.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad (const GeometricField< Type, fvPatchField, volMesh > &) const
 Calculate and return the grad of the given field with the default name which may have been cached.
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > grad (const tmp< GeometricField< Type, fvPatchField, volMesh > > &) const
 Calculate and return the grad of the given field with the default name which may have been cached.
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 gaussGrad< Type >
static tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > > gradf (const GeometricField< Type, fvsPatchField, surfaceMesh > &, const word &name)
 Return the gradient of the given field calculated using Gauss' theorem on the given surface field.
static void correctBoundaryConditions (const GeometricField< Type, fvPatchField, volMesh > &, GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh > &)
 Correct the boundary values of the gradient using the patchField snGrad functions.
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.

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 73 of file iterativeGaussGrad.H.

Constructor & Destructor Documentation

◆ iterativeGaussGrad() [1/2]

template<class Type>
iterativeGaussGrad ( const fvMesh & mesh)
inline

Construct from mesh.

Definition at line 111 of file iterativeGaussGrad.H.

References gradScheme< Type >::mesh().

Here is the call graph for this function:

◆ iterativeGaussGrad() [2/2]

template<class Type>
iterativeGaussGrad ( const fvMesh & mesh,
Istream & schemeData )
inline

Construct from mesh and Istream.

Definition at line 120 of file iterativeGaussGrad.H.

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

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "iterativeGauss" )

Runtime type information.

◆ calcGrad()


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