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 >:
Collaboration diagram for iterativeGaussGrad< Type >:

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
 Return the gradient of the given field to the gradScheme::grad for optional caching. More...
 
- 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...
 
- 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...
 
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. More...
 
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. More...
 
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. More...
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int use_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)
 Return the gradient of the given field calculated using Gauss' theorem on the given surface field. More...
 
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. More...
 
- 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 73 of file iterativeGaussGrad.H.

Constructor & Destructor Documentation

◆ iterativeGaussGrad() [1/2]

iterativeGaussGrad ( const fvMesh mesh)
inline

Construct from mesh.

Definition at line 111 of file iterativeGaussGrad.H.

◆ iterativeGaussGrad() [2/2]

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, and FatalIOErrorInFunction.

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "iterativeGauss"  )

Runtime type information.

◆ calcGrad()

virtual tmp< GeometricField < typename outerProduct<vector, Type>::type, fvPatchField, 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 >.


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