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

Two-scheme cell-based Courant number based blending differencing scheme. More...

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

Public Member Functions

 TypeName ("cellCoBlended")
 
 cellCoBlended (const fvMesh &mesh, Istream &is)
 
 cellCoBlended (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is)
 
virtual tmp< surfaceScalarFieldblendingFactor (const GeometricField< Type, fvPatchField, volMesh > &vf) const
 
tmp< surfaceScalarFieldweights (const GeometricField< Type, fvPatchField, volMesh > &vf) const
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &vf) const
 
virtual bool corrected () const
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > correction (const GeometricField< Type, fvPatchField, volMesh > &vf) const
 
- Public Member Functions inherited from surfaceInterpolationScheme< Type >
 TypeName ("surfaceInterpolationScheme")
 
 declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, Mesh,(const fvMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 declareRunTimeSelectionTable (tmp, surfaceInterpolationScheme, MeshFlux,(const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 
 surfaceInterpolationScheme (const fvMesh &mesh)
 
virtual ~surfaceInterpolationScheme ()=default
 
const fvMeshmesh () const
 
virtual tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf) const
 
tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const surfaceVectorField &Sf, const tmp< GeometricField< Type, fvPatchField, volMesh >> &) const
 
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh >> &) const
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 
int count () const noexcept
 
bool unique () const noexcept
 
void operator++ () noexcept
 
void operator++ (int) noexcept
 
void operator-- () noexcept
 
void operator-- (int) noexcept
 
- Public Member Functions inherited from blendedSchemeBase< Type >
 blendedSchemeBase ()
 
virtual ~blendedSchemeBase ()=default
 

Additional Inherited Members

- Static Public Member Functions inherited from surfaceInterpolationScheme< Type >
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, Istream &schemeData)
 
static tmp< surfaceInterpolationScheme< Type > > New (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &schemeData)
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &, const tmp< surfaceScalarField > &)
 
template<class SFType >
static tmp< GeometricField< typename innerProduct< typename SFType::value_type, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate (const SFType &Sf, const GeometricField< Type, fvPatchField, volMesh > &vf, const tmp< surfaceScalarField > &tlambdas)
 
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, const tmp< surfaceScalarField > &)
 

Detailed Description

template<class Type>
class Foam::cellCoBlended< Type >

Two-scheme cell-based Courant number based blending differencing scheme.

This scheme is equivalent to the CoBlended scheme except that the Courant number is evaluated for cells using the same approach as use in the finite-volume solvers and then interpolated to the faces rather than being estimated directly at the faces based on the flux. This is a more consistent method for evaluating the Courant number but suffers from the need to interpolate which introduces a degree of freedom. However, the interpolation scheme for "Co" is run-time selected and may be specified in "interpolationSchemes" and "localMax" might be most appropriate.

Example of the cellCoBlended scheme specification using LUST for Courant numbers less than 1 and linearUpwind for Courant numbers greater than 10:

divSchemes
{
    .
    .
    div(phi,U)  Gauss cellCoBlended 1 LUST grad(U) 10 linearUpwind grad(U);
    .
    .
}

interpolationSchemes
{
    .
    .
    interpolate(Co) localMax;
    .
    .
}
See also
Foam::CoBlended Foam::localBlended
Source files

Definition at line 89 of file cellCoBlended.H.

Constructor & Destructor Documentation

◆ cellCoBlended() [1/2]

cellCoBlended ( const fvMesh mesh,
Istream is 
)
inline

Definition at line 133 of file cellCoBlended.H.

References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.

Here is the call graph for this function:

◆ cellCoBlended() [2/2]

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

Definition at line 166 of file cellCoBlended.H.

References Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "cellCoBlended< Type >"  )

◆ blendingFactor()

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

◆ weights()

tmp<surfaceScalarField> weights ( const GeometricField< Type, fvPatchField, volMesh > &  vf) const
inlinevirtual

Implements surfaceInterpolationScheme< Type >.

Definition at line 268 of file cellCoBlended.H.

References cellCoBlended< Type >::blendingFactor().

Here is the call graph for this function:

◆ interpolate()

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

Reimplemented from surfaceInterpolationScheme< Type >.

Definition at line 284 of file cellCoBlended.H.

References cellCoBlended< Type >::blendingFactor().

Here is the call graph for this function:

◆ corrected()

virtual bool corrected ( ) const
inlinevirtual

Reimplemented from surfaceInterpolationScheme< Type >.

Definition at line 297 of file cellCoBlended.H.

Referenced by cellCoBlended< Type >::correction().

Here is the caller graph for this function:

◆ correction()

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

Reimplemented from surfaceInterpolationScheme< Type >.

Definition at line 307 of file cellCoBlended.H.

References cellCoBlended< Type >::blendingFactor(), and cellCoBlended< Type >::corrected().

Here is the call graph for this function:

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