All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
extendedCellToFaceStencil Class Reference

Calculates/constains the extended cell-to-face stencil. More...

Inheritance diagram for extendedCellToFaceStencil:
Collaboration diagram for extendedCellToFaceStencil:

Public Member Functions

 ClassName ("extendedCellToFaceStencil")
 
 extendedCellToFaceStencil (const polyMesh &)
 Construct from mesh. More...
 
template<class Type >
void collectData (const mapDistribute &map, const labelListList &stencil, const GeometricField< Type, fvPatchField, volMesh > &fld, List< List< Type >> &stencilFld)
 
template<class Type >
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > weightedSum (const mapDistribute &map, const labelListList &stencil, const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< scalar >> &stencilWeights)
 

Static Public Member Functions

template<class T >
static void collectData (const mapDistribute &map, const labelListList &stencil, const GeometricField< T, fvPatchField, volMesh > &fld, List< List< T >> &stencilFld)
 Use map to get the data into stencil order. More...
 
template<class Type >
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > weightedSum (const mapDistribute &map, const labelListList &stencil, const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< scalar >> &stencilWeights)
 Sum vol field contributions to create face values. More...
 

Static Protected Member Functions

static void writeStencilStats (Ostream &os, const labelListList &stencil, const mapDistribute &map)
 Write some statistics about stencil. More...
 

Protected Attributes

const polyMeshmesh_
 

Detailed Description

Calculates/constains the extended cell-to-face stencil.

The stencil is a list of indices into either cells or boundary faces in a compact way. (element 0 is owner, 1 is neighbour). The index numbering is

  • cells first
  • then all (non-empty patch) boundary faces

When used in evaluation is a two stage process:

  • collect the data (cell data and non-empty boundaries) into a single field
  • (parallel) distribute the field
  • sum the weights*field.
Source files

Definition at line 65 of file extendedCellToFaceStencil.H.

Constructor & Destructor Documentation

◆ extendedCellToFaceStencil()

Member Function Documentation

◆ writeStencilStats()

◆ ClassName()

ClassName ( "extendedCellToFaceStencil"  )

◆ collectData() [1/2]

static void collectData ( const mapDistribute map,
const labelListList stencil,
const GeometricField< T, fvPatchField, volMesh > &  fld,
List< List< T >> &  stencilFld 
)
static

Use map to get the data into stencil order.

Referenced by extendedCentredCellToFaceStencil::collectData(), extendedCentredCellToCellStencil::collectData(), and extendedUpwindCellToFaceStencil::extendedUpwindCellToFaceStencil().

Here is the caller graph for this function:

◆ weightedSum() [1/2]

static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > weightedSum ( const mapDistribute map,
const labelListList stencil,
const GeometricField< Type, fvPatchField, volMesh > &  fld,
const List< List< scalar >> &  stencilWeights 
)
static

Sum vol field contributions to create face values.

Referenced by extendedCellToFaceStencil::collectData(), and extendedCentredCellToFaceStencil::weightedSum().

Here is the caller graph for this function:

◆ collectData() [2/2]

◆ weightedSum() [2/2]

Member Data Documentation

◆ mesh_

const polyMesh& mesh_
protected

Definition at line 71 of file extendedCellToFaceStencil.H.


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