extendedCellToFaceStencil Class Reference

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

Inheritance diagram for extendedCellToFaceStencil:
[legend]
Collaboration diagram for extendedCellToFaceStencil:
[legend]

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 67 of file extendedCellToFaceStencil.H.

Constructor & Destructor Documentation

◆ extendedCellToFaceStencil()

extendedCellToFaceStencil ( const polyMesh mesh)
explicit

Construct from mesh.

Definition at line 101 of file extendedCellToFaceStencil.C.

References polyMesh::boundaryMesh(), coupled(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, mesh, patchIdentifier::name(), coupledPolyPatch::parallel(), patches, and coupledPolyPatch::separated().

Here is the call graph for this function:

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(), extendedUpwindCellToFaceStencil::extendedUpwindCellToFaceStencil(), extendedCellToCellStencil::weightedSum(), and extendedUpwindCellToFaceStencil::weightedSum().

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 extendedCentredCellToFaceStencil::weightedSum().

Here is the caller graph for this function:

◆ collectData() [2/2]

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

Definition at line 33 of file extendedCellToFaceStencilTemplates.C.

References mapDistributeBase::constructSize(), mapDistribute::distribute(), fld(), forAll, fvPatchField< Type >::patch(), List< T >::setSize(), UList< T >::size(), fvPatch::start(), and Foam::Zero.

Here is the call graph for this function:

◆ weightedSum() [2/2]

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 
)

Definition at line 87 of file extendedCellToFaceStencilTemplates.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), fvsPatchField< Type >::coupled(), fld(), forAll, mesh, primitiveMesh::nInternalFaces(), IOobject::NO_READ, IOobject::NO_WRITE, fvsPatchField< Type >::patch(), tmp< T >::ref(), fvPatch::start(), fvMesh::time(), Time::timeName(), and Foam::Zero.

Here is the call graph for this function:

Member Data Documentation

◆ mesh_

const polyMesh& mesh_
protected

Definition at line 73 of file extendedCellToFaceStencil.H.


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