Public Types | Public Member Functions | Protected Attributes | List of all members
faNVDscheme< Type, NVDweight > Class Template Reference

Class to create the weighting-factors based on the NVD (Normalised Variable Diagram). More...

Inheritance diagram for faNVDscheme< Type, NVDweight >:
Inheritance graph
[legend]
Collaboration diagram for faNVDscheme< Type, NVDweight >:
Collaboration graph
[legend]

Public Types

typedef NVDweight Weight
 

Public Member Functions

 TypeName ("faNVDscheme")
 
 faNVDscheme (const faMesh &mesh, const edgeScalarField &edgeFlux, const NVDweight &weight)
 
 faNVDscheme (const faMesh &mesh, Istream &is)
 
 faNVDscheme (const faMesh &mesh, const edgeScalarField &edgeFlux, Istream &is)
 
virtual tmp< edgeScalarFieldweights (const GeometricField< Type, faPatchField, areaMesh > &) const
 
- Public Member Functions inherited from edgeInterpolationScheme< Type >
 declareRunTimeSelectionTable (tmp, edgeInterpolationScheme, Mesh,(const faMesh &mesh, Istream &schemeData),(mesh, schemeData))
 
 declareRunTimeSelectionTable (tmp, edgeInterpolationScheme, MeshFlux,(const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData),(mesh, faceFlux, schemeData))
 
 edgeInterpolationScheme (const faMesh &mesh)
 
virtual ~edgeInterpolationScheme ()
 
const faMeshmesh () const
 
virtual bool corrected () const
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > correction (const GeometricField< Type, faPatchField, areaMesh > &) const
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &) const
 
virtual tmp< GeometricField< Type, faePatchField, edgeMesh > > euclidianInterpolate (const GeometricField< Type, faPatchField, areaMesh > &) const
 
tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const tmp< GeometricField< Type, faPatchField, areaMesh >> &) 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
 

Protected Attributes

const edgeScalarFieldedgeFlux_
 

Additional Inherited Members

- Static Public Member Functions inherited from edgeInterpolationScheme< Type >
static tmp< edgeInterpolationScheme< Type > > New (const faMesh &mesh, Istream &schemeData)
 
static tmp< edgeInterpolationScheme< Type > > New (const faMesh &mesh, const edgeScalarField &faceFlux, Istream &schemeData)
 
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &, const tmp< edgeScalarField > &)
 
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &)
 
static tmp< GeometricField< Type, faePatchField, edgeMesh > > euclidianInterpolate (const GeometricField< Type, faPatchField, areaMesh > &, const tmp< edgeScalarField > &)
 

Detailed Description

template<class Type, class NVDweight>
class Foam::faNVDscheme< Type, NVDweight >

Class to create the weighting-factors based on the NVD (Normalised Variable Diagram).

The particular differencing scheme class is supplied as a template argument, the weight function of which is called by the weight function of this class for the internal edges as well as edges of coupled patches (e.g. processor-processor patches). The weight function is supplied the central-differencing weighting factor, the edge-flux, the cell and edge gradients (from which the normalised variable distribution may be created) and the cell centre distance.

This code organisation is both neat and efficient, allowing for convenient implementation of new schemes to run on parallelised cases.

Source files

Definition at line 59 of file faNVDscheme.H.

Member Typedef Documentation

◆ Weight

typedef NVDweight Weight

Definition at line 86 of file faNVDscheme.H.

Constructor & Destructor Documentation

◆ faNVDscheme() [1/3]

faNVDscheme ( const faMesh mesh,
const edgeScalarField edgeFlux,
const NVDweight &  weight 
)
inline

Definition at line 97 of file faNVDscheme.H.

◆ faNVDscheme() [2/3]

faNVDscheme ( const faMesh mesh,
Istream is 
)
inline

Definition at line 112 of file faNVDscheme.H.

◆ faNVDscheme() [3/3]

faNVDscheme ( const faMesh mesh,
const edgeScalarField edgeFlux,
Istream is 
)
inline

Definition at line 130 of file faNVDscheme.H.

Member Function Documentation

◆ TypeName()

TypeName ( "faNVDscheme< Type, NVDweight >"  )

◆ weights()

Foam::tmp< Foam::edgeScalarField > weights ( const GeometricField< Type, faPatchField, areaMesh > &  phi) const
virtual

Member Data Documentation

◆ edgeFlux_

const edgeScalarField& edgeFlux_
protected

Definition at line 69 of file faNVDscheme.H.


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