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

Bounded form of the selected convection scheme. More...

#include <boundedConvectionScheme.H>

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

Public Member Functions

 TypeName ("bounded")
 Runtime type information.
 boundedConvectionScheme (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is)
 Construct from flux and Istream.
const convectionScheme< Type > & scheme () const
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
tmp< fvMatrix< Type > > fvmDiv (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDiv (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const
Public Member Functions inherited from convectionScheme< Type >
virtual const wordtype () const =0
 Runtime type information.
 declareRunTimeSelectionTable (tmp, convectionScheme, Istream,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 declareRunTimeSelectionTable (tmp, convectionScheme, Multivariate,(const fvMesh &mesh, const typename multivariateSurfaceInterpolationScheme< Type >::fieldTable &fields, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, fields, faceFlux, schemeData))
 convectionScheme (const convectionScheme &)
 Copy construct.
 convectionScheme (const fvMesh &mesh, const surfaceScalarField &)
 Construct from mesh, flux and Istream.
virtual ~convectionScheme ()
 Destructor.
const fvMeshmesh () const
 Return mesh reference.
void operator= (const convectionScheme< Type > &)
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 convectionScheme< Type >
static tmp< convectionScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return a pointer to a new convectionScheme created on freestore.
static tmp< convectionScheme< Type > > New (const fvMesh &mesh, const typename multivariateSurfaceInterpolationScheme< Type >::fieldTable &fields, const surfaceScalarField &faceFlux, Istream &schemeData)
 Return a pointer to a new multivariate convectionScheme.

Detailed Description

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

Bounded form of the selected convection scheme.

Boundedness is achieved by subtracting div(phi)*vf or Sp(div(phi), vf) which is non-conservative if div(phi) != 0 but conservative otherwise.

Can be used for convection of bounded scalar properties in steady-state solvers to improve stability if insufficient convergence of the pressure equation causes temporary divergence of the flux field.

Source files

Definition at line 62 of file boundedConvectionScheme.H.

Constructor & Destructor Documentation

◆ boundedConvectionScheme()

template<class Type>
boundedConvectionScheme ( const fvMesh & mesh,
const surfaceScalarField & faceFlux,
Istream & is )
inline

Construct from flux and Istream.

Definition at line 97 of file boundedConvectionScheme.H.

References convectionScheme< Type >::convectionScheme(), convectionScheme< Type >::mesh(), and convectionScheme< Type >::New().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "bounded" )

Runtime type information.

◆ scheme()

template<class Type>
const convectionScheme< Type > & scheme ( ) const

Definition at line 39 of file boundedConvectionScheme.C.

References convectionScheme< Type >::convectionScheme().

Here is the call graph for this function:

◆ interpolate()

template<class Type>
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate ( const surfaceScalarField & phi,
const GeometricField< Type, fvPatchField, volMesh > & vf ) const
virtual

Implements convectionScheme< Type >.

Definition at line 47 of file boundedConvectionScheme.C.

References phi.

◆ flux()

template<class Type>
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux ( const surfaceScalarField & faceFlux,
const GeometricField< Type, fvPatchField, volMesh > & vf ) const
virtual

Implements convectionScheme< Type >.

Definition at line 59 of file boundedConvectionScheme.C.

◆ fvmDiv()

template<class Type>
tmp< fvMatrix< Type > > fvmDiv ( const surfaceScalarField & faceFlux,
const GeometricField< Type, fvPatchField, volMesh > & vf ) const
virtual

Implements convectionScheme< Type >.

Definition at line 71 of file boundedConvectionScheme.C.

References Foam::fvm::Sp(), and Foam::fvc::surfaceIntegrate().

Here is the call graph for this function:

◆ fvcDiv()

template<class Type>
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDiv ( const surfaceScalarField & faceFlux,
const GeometricField< Type, fvPatchField, volMesh > & vf ) const
virtual

Implements convectionScheme< Type >.

Definition at line 85 of file boundedConvectionScheme.C.

References Foam::fvc::surfaceIntegrate().

Here is the call graph for this function:

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