boundedConvectionScheme< Type > Class Template Reference

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

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

Public Member Functions

 TypeName ("bounded")
 Runtime type information. More...
 
 boundedConvectionScheme (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is)
 Construct from flux and Istream. More...
 
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. More...
 
 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. More...
 
 convectionScheme (const fvMesh &mesh, const surfaceScalarField &)
 Construct from mesh, flux and Istream. More...
 
virtual ~convectionScheme ()
 Destructor. More...
 
const fvMeshmesh () const
 Return mesh reference. More...
 
void operator= (const convectionScheme< Type > &)
 
- 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 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. More...
 
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. More...
 

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()

boundedConvectionScheme ( const fvMesh mesh,
const surfaceScalarField faceFlux,
Istream is 
)
inline

Construct from flux and Istream.

Definition at line 98 of file boundedConvectionScheme.H.

Member Function Documentation

◆ TypeName()

TypeName ( "bounded"  )

Runtime type information.

◆ scheme()

const convectionScheme< Type > & scheme ( ) const

Definition at line 39 of file boundedConvectionScheme.C.

◆ interpolate()

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

Implements convectionScheme< Type >.

Definition at line 48 of file boundedConvectionScheme.C.

References phi.

◆ flux()

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

Implements convectionScheme< Type >.

Definition at line 60 of file boundedConvectionScheme.C.

◆ fvmDiv()

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

Implements convectionScheme< Type >.

Definition at line 72 of file boundedConvectionScheme.C.

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

Here is the call graph for this function:

◆ fvcDiv()

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

Implements convectionScheme< Type >.

Definition at line 86 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: