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

Surface gradient scheme with full explicit non-orthogonal correction. More...

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

Public Member Functions

 TypeName ("faceCorrected")
 Runtime type information. More...
 
 faceCorrectedSnGrad (const fvMesh &mesh)
 Construct from mesh. More...
 
 faceCorrectedSnGrad (const fvMesh &mesh, Istream &)
 Construct from mesh and data stream. More...
 
virtual ~faceCorrectedSnGrad ()=default
 Destructor. More...
 
virtual tmp< surfaceScalarFielddeltaCoeffs (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the interpolation weighting factors for the given field. More...
 
virtual bool corrected () const noexcept
 Return true if this scheme uses an explicit correction. More...
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > fullGradCorrection (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the explicit correction to the faceCorrectedSnGrad for the given field using the gradient of the field. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the explicit correction to the faceCorrectedSnGrad for the given field using the gradients of the field components. More...
 
template<>
tmp< surfaceScalarFieldcorrection (const volScalarField &vsf) const
 
template<>
tmp< surfaceVectorFieldcorrection (const volVectorField &vvf) const
 
template<>
Foam::tmp< Foam::surfaceVectorFieldcorrection (const volVectorField &vvf) const
 
- Public Member Functions inherited from snGradScheme< Type >
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (tmp, snGradScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 snGradScheme (const fvMesh &mesh)
 Construct from mesh. More...
 
virtual ~snGradScheme ()=default
 Destructor. More...
 
const fvMeshmesh () const
 Return const reference to mesh. More...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const GeometricField< Type, fvPatchField, volMesh > &) const
 Return the snGrad of the given cell field with explicit correction. More...
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const tmp< GeometricField< Type, fvPatchField, volMesh >> &) const
 Return the snGrad of the given tmp cell field with explicit correction. 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 snGradScheme< Type >
static tmp< snGradScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 Return new tmp interpolation scheme. More...
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const word &snGradName="snGrad")
 Return the snGrad of the given cell field by using the given deltaCoeffs. More...
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > sndGrad (const GeometricField< Type, fvPatchField, volMesh > &, const word &snGradName="sndGrad")
 Return the sndGrad of the given cell field. More...
 

Detailed Description

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

Surface gradient scheme with full explicit non-orthogonal correction.

Usage
Minimal example by using system/fvSchemes:
snGradSchemes
{
    snGrad(<term>)       faceCorrected;
}
Source files

Definition at line 65 of file faceCorrectedSnGrad.H.

Constructor & Destructor Documentation

◆ faceCorrectedSnGrad() [1/2]

faceCorrectedSnGrad ( const fvMesh mesh)
inline

Construct from mesh.

Definition at line 90 of file faceCorrectedSnGrad.H.

◆ faceCorrectedSnGrad() [2/2]

faceCorrectedSnGrad ( const fvMesh mesh,
Istream  
)
inline

Construct from mesh and data stream.

Definition at line 98 of file faceCorrectedSnGrad.H.

◆ ~faceCorrectedSnGrad()

virtual ~faceCorrectedSnGrad ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "faceCorrected"  )

Runtime type information.

◆ deltaCoeffs()

virtual tmp<surfaceScalarField> deltaCoeffs ( const GeometricField< Type, fvPatchField, volMesh > &  ) const
inlinevirtual

Return the interpolation weighting factors for the given field.

Implements snGradScheme< Type >.

Definition at line 116 of file faceCorrectedSnGrad.H.

References snGradScheme< Type >::mesh(), and surfaceInterpolation::nonOrthDeltaCoeffs().

Here is the call graph for this function:

◆ corrected()

virtual bool corrected ( ) const
inlinevirtualnoexcept

Return true if this scheme uses an explicit correction.

Reimplemented from snGradScheme< Type >.

Definition at line 126 of file faceCorrectedSnGrad.H.

◆ fullGradCorrection()

Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > fullGradCorrection ( const GeometricField< Type, fvPatchField, volMesh > &  vf) const

Return the explicit correction to the faceCorrectedSnGrad for the given field using the gradient of the field.

Definition at line 31 of file faceCorrectedSnGrad.C.

References DimensionedField< Type, GeoMesh >::dimensions(), UList< T >::fcIndex(), forAll, IOobject::instance(), Foam::fac::interpolate(), mesh, IOobject::name(), Foam::New(), Foam::constant::mathematical::pi(), points, tmp< T >::ref(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ correction() [1/4]

Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > correction ( const GeometricField< Type, fvPatchField, volMesh > &  vf) const
virtual

Return the explicit correction to the faceCorrectedSnGrad for the given field using the gradients of the field components.

Reimplemented from snGradScheme< Type >.

Definition at line 115 of file faceCorrectedSnGrad.C.

References GeometricField< Type, PatchField, GeoMesh >::component(), DimensionedField< Type, GeoMesh >::dimensions(), IOobject::instance(), mesh, IOobject::name(), tmp< T >::ref(), and GeometricField< Type, PatchField, GeoMesh >::replace().

Here is the call graph for this function:

◆ correction() [2/4]

tmp< surfaceScalarField > correction ( const volScalarField vsf) const

◆ correction() [3/4]

tmp< surfaceVectorField > correction ( const volVectorField vvf) const

◆ correction() [4/4]

Foam::tmp< Foam::surfaceVectorField > correction ( const volVectorField vvf) const

Definition at line 43 of file faceCorrectedSnGrads.C.


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