gaussConvectionScheme< Type > Class Template Reference

Basic second-order convection using face-gradients and Gauss' theorem. More...

Inheritance diagram for gaussConvectionScheme< Type >:
[legend]
Collaboration diagram for gaussConvectionScheme< Type >:
[legend]

Public Member Functions

 TypeName ("Gauss")
 Runtime type information. More...
 
 gaussConvectionScheme (const fvMesh &mesh, const surfaceScalarField &faceFlux, const tmp< surfaceInterpolationScheme< Type > > &scheme)
 Construct from flux and interpolation scheme. More...
 
 gaussConvectionScheme (const fvMesh &mesh, const surfaceScalarField &faceFlux, Istream &is)
 Construct from flux and Istream. More...
 
const surfaceInterpolationScheme< Type > & interpScheme () 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...
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
 
virtual tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
 
virtual tmp< fvMatrix< Type > > fvmDiv (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
 
virtual tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDiv (const surfaceScalarField &, const GeometricField< Type, fvPatchField, volMesh > &) const =0
 
void operator= (const convectionScheme< Type > &)
 
- Public Member Functions inherited from refCount
constexpr refCount () noexcept
 Default construct, initializing count to 0. More...
 
int 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::gaussConvectionScheme< Type >

Basic second-order convection using face-gradients and Gauss' theorem.

Source files

Definition at line 59 of file gaussConvectionScheme.H.

Constructor & Destructor Documentation

◆ gaussConvectionScheme() [1/2]

gaussConvectionScheme ( const fvMesh mesh,
const surfaceScalarField faceFlux,
const tmp< surfaceInterpolationScheme< Type > > &  scheme 
)
inline

Construct from flux and interpolation scheme.

Definition at line 86 of file gaussConvectionScheme.H.

◆ gaussConvectionScheme() [2/2]

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

Construct from flux and Istream.

Definition at line 98 of file gaussConvectionScheme.H.

Member Function Documentation

◆ TypeName()

TypeName ( "Gauss"  )

Runtime type information.

◆ interpScheme()

const surfaceInterpolationScheme< Type > & interpScheme

Definition at line 46 of file gaussConvectionScheme.C.

◆ interpolate()

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

Implements convectionScheme< Type >.

Definition at line 54 of file gaussConvectionScheme.C.

Referenced by multivariateGaussConvectionScheme< Type >::interpolate().

Here is the caller graph for this function:

◆ flux()

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

Implements convectionScheme< Type >.

Definition at line 66 of file gaussConvectionScheme.C.

References Foam::interpolate().

Referenced by multivariateGaussConvectionScheme< Type >::flux().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fvmDiv()

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

Implements convectionScheme< Type >.

Definition at line 78 of file gaussConvectionScheme.C.

References fvMatrix< Type >::boundaryCoeffs(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Foam::correction(), DimensionedField< Type, GeoMesh >::dimensions(), forAll, fvMatrix< Type >::internalCoeffs(), lduMatrix::lower(), lduMatrix::negSumDiag(), GeometricField< Type, PatchField, GeoMesh >::primitiveField(), tmp< T >::ref(), Foam::fvc::surfaceIntegrate(), lduMatrix::upper(), fvPatchField< Type >::valueBoundaryCoeffs(), and fvPatchField< Type >::valueInternalCoeffs().

Referenced by multivariateGaussConvectionScheme< Type >::fvmDiv().

Here is the call graph for this function:
Here is the caller 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 122 of file gaussConvectionScheme.C.

References IOobject::name(), tmp< T >::ref(), and Foam::fvc::surfaceIntegrate().

Referenced by multivariateGaussConvectionScheme< Type >::fvcDiv().

Here is the call graph for this function:
Here is the caller graph for this function:

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