Calculates/contains the extended cell-to-face stencil. More...
Public Member Functions | |
ClassName ("extendedCellToFaceStencil") | |
extendedCellToFaceStencil (const polyMesh &) | |
Construct from mesh. More... | |
template<class Type > | |
Foam::tmp< Foam::SurfaceField< Type > > | weightedSum (const distributionMap &map, const labelListList &stencil, const VolField< Type > &fld, const List< List< scalar >> &stencilWeights) |
Static Public Member Functions | |
template<class Type > | |
static void | collectData (const distributionMap &map, const labelListList &stencil, const VolField< Type > &fld, List< List< Type >> &stencilFld) |
Use map to get the data into stencil order. More... | |
template<class Type > | |
static tmp< SurfaceField< Type > > | weightedSum (const distributionMap &map, const labelListList &stencil, const VolField< Type > &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 distributionMap &map) |
Write some statistics about stencil. More... | |
Protected Attributes | |
const polyMesh & | mesh_ |
Calculates/contains 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 65 of file extendedCellToFaceStencil.H.
|
explicit |
Construct from mesh.
Definition at line 100 of file extendedCellToFaceStencil.C.
References polyMesh::boundaryMesh(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, patchIdentifier::name(), patches, patchi, coupledPolyPatch::transform(), and transformer::transformsPosition().
|
staticprotected |
Write some statistics about stencil.
Definition at line 41 of file extendedCellToFaceStencil.C.
References Foam::endl(), forAll, Foam::labelMax, Foam::labelMin, Foam::max(), Foam::min(), UPstream::myProcNo(), Foam::nl, Foam::reduce(), Foam::returnReduce(), List< T >::size(), and distributionMapBase::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 |
Use map to get the data into stencil order.
Definition at line 31 of file extendedCellToFaceStencilTemplates.C.
References distributionMapBase::constructSize(), distributionMap::distribute(), fld(), forAll, fvPatchField< Type >::patch(), patchi, List< T >::setSize(), List< T >::size(), fvPatch::start(), and Foam::Zero.
Referenced by extendedCentredCellToCellStencil::collectData(), extendedCentredCellToFaceStencil::collectData(), extendedUpwindCellToFaceStencil::extendedUpwindCellToFaceStencil(), and extendedUpwindCellToFaceStencil::weightedSum().
|
static |
Sum vol field contributions to create face values.
Referenced by extendedCentredCellToFaceStencil::weightedSum().
Foam::tmp<Foam::SurfaceField<Type> > weightedSum | ( | const distributionMap & | map, |
const labelListList & | stencil, | ||
const VolField< Type > & | fld, | ||
const List< List< scalar >> & | stencilWeights | ||
) |
Definition at line 85 of file extendedCellToFaceStencilTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), fvsPatchField< Type >::coupled(), fld(), forAll, primitiveMesh::nInternalFaces(), fvsPatchField< Type >::patch(), patchi, tmp< T >::ref(), sf(), fvPatch::start(), and Foam::Zero.
|
protected |
Definition at line 71 of file extendedCellToFaceStencil.H.