Calculates/constains the extended cell-to-face stencil. More...
#include <finiteVolume/extendedCellToFaceStencil.H>
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
When used in evaluation is a two stage process:
Definition at line 66 of file extendedCellToFaceStencil.H.
Public Member Functions | |
ClassName ("extendedCellToFaceStencil") | |
extendedCellToFaceStencil (const polyMesh &) | |
Construct from mesh. | |
template<class Type > | |
void | collectData (const mapDistribute &map, const labelListList &stencil, const GeometricField< Type, fvPatchField, volMesh > &fld, List< List< Type > > &stencilFld) |
Static Public Member Functions | |
static autoPtr< mapDistribute > | calcDistributeMap (const polyMesh &mesh, const globalIndex &globalNumbering, labelListList &faceStencil) |
Calculate distribute map. | |
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. | |
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. |
Static Protected Member Functions | |
static void | writeStencilStats (Ostream &os, const labelListList &stencil, const mapDistribute &map) |
Write some statistics about stencil. |
Protected Attributes | |
const polyMesh & | mesh_ |
|
explicit |
Construct from mesh.
Definition at line 294 of file extendedCellToFaceStencil.C.
References polyMesh::boundaryMesh(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, forAll, patchIdentifier::name(), coupledPolyPatch::parallel(), patches, and coupledPolyPatch::separated().
|
staticprotected |
Write some statistics about stencil.
Definition at line 39 of file extendedCellToFaceStencil.C.
References Foam::endl(), forAll, Foam::max(), Foam::min(), Foam::nl, reduce(), Foam::returnReduce(), List< T >::size(), and mapDistribute::subMap().
Referenced by centredCECCellToFaceStencilObject::centredCECCellToFaceStencilObject(), centredCFCCellToFaceStencilObject::centredCFCCellToFaceStencilObject(), centredCPCCellToFaceStencilObject::centredCPCCellToFaceStencilObject(), centredFECCellToFaceStencilObject::centredFECCellToFaceStencilObject(), pureUpwindCFCCellToFaceStencilObject::pureUpwindCFCCellToFaceStencilObject(), upwindCECCellToFaceStencilObject::upwindCECCellToFaceStencilObject(), upwindCFCCellToFaceStencilObject::upwindCFCCellToFaceStencilObject(), upwindCPCCellToFaceStencilObject::upwindCPCCellToFaceStencilObject(), and upwindFECCellToFaceStencilObject::upwindFECCellToFaceStencilObject().
ClassName | ( | "extendedCellToFaceStencil" | ) |
|
static |
Calculate distribute map.
Definition at line 97 of file extendedCellToFaceStencil.C.
References polyMesh::boundaryMesh(), HashTable< T, Key, Hash >::find(), forAll, forAllConstIter, polyMesh::globalData(), Foam::identity(), globalIndex::localSize(), patches, ProcessorTopology< Patch, ProcPatch >::procPatchMap(), List< T >::resize(), List< T >::setSize(), List< T >::size(), HashTable< T, Key, Hash >::toc(), globalIndex::toLocal(), globalIndex::whichProcID(), and List< T >::xfer().
|
static |
Use map to get the data into stencil order.
|
static |
Sum vol field contributions to create face values.
Definition at line 82 of file extendedCellToFaceStencilTemplates.C.
References fvsPatchField< Type >::coupled(), DimensionedField< Type, GeoMesh >::dimensions(), forAll, mesh, DimensionedField< Type, GeoMesh >::mesh(), IOobject::name(), primitiveMesh::nInternalFaces(), fvsPatchField< Type >::patch(), patchi, sf(), fvMesh::time(), and Time::timeName().
Referenced by quadraticFitSnGrad< Type >::correction().
void collectData | ( | const mapDistribute & | map, |
const labelListList & | stencil, | ||
const GeometricField< Type, fvPatchField, volMesh > & | fld, | ||
List< List< Type > > & | stencilFld | ||
) |
Definition at line 32 of file extendedCellToFaceStencilTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), mapDistribute::constructSize(), mapDistribute::distribute(), forAll, List< T >::setSize(), and List< T >::size().
|
protected |
Definition at line 72 of file extendedCellToFaceStencil.H.