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.
Inheritance diagram for extendedCellToFaceStencil:
Collaboration diagram for extendedCellToFaceStencil: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_ |
| extendedCellToFaceStencil | ( | 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().
| void writeStencilStats | ( | Ostream & | os, |
| const labelListList & | stencil, | ||
| const mapDistribute & | map | ||
| ) | [static, protected]
|
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" | ) |
| Foam::autoPtr< Foam::mapDistribute > calcDistributeMap | ( | const polyMesh & | mesh, |
| const globalIndex & | globalNumbering, | ||
| labelListList & | faceStencil | ||
| ) | [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 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.
| 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]
|
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, DimensionedField< Type, GeoMesh >::mesh(), mesh, IOobject::name(), primitiveMesh::nInternalFaces(), fvPatch::patch(), fvsPatchField< Type >::patch(), polyPatch::start(), 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().
Definition at line 72 of file extendedCellToFaceStencil.H.