Calculates/contains the extended cell-to-face stencil. More...
Public Member Functions | |
ClassName ("extendedCellToFaceStencil") | |
extendedCellToFaceStencil (const polyMesh &) | |
Construct from mesh. More... | |
template<class Type > | |
void | collectData (const distributionMap &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 distributionMap &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 distributionMap &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 distributionMap &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 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 42 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.
Referenced by extendedCentredCellToFaceStencil::collectData(), extendedCentredCellToCellStencil::collectData(), and extendedUpwindCellToFaceStencil::extendedUpwindCellToFaceStencil().
|
static |
Sum vol field contributions to create face values.
Referenced by extendedCellToFaceStencil::collectData(), and extendedCentredCellToFaceStencil::weightedSum().
void collectData | ( | const distributionMap & | 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(), distributionMapBase::constructSize(), distributionMap::distribute(), forAll, DimensionedField< Type, GeoMesh >::mesh(), fvPatchField< Type >::patch(), patchi, List< T >::setSize(), List< T >::size(), extendedCellToFaceStencil::weightedSum(), and Foam::Zero.
Foam::tmp<Foam::GeometricField<Type, Foam::fvsPatchField, Foam::surfaceMesh> > weightedSum | ( | const distributionMap & | map, |
const labelListList & | stencil, | ||
const GeometricField< Type, fvPatchField, volMesh > & | fld, | ||
const List< List< scalar >> & | stencilWeights | ||
) |
Definition at line 86 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(), and Foam::Zero.
|
protected |
Definition at line 71 of file extendedCellToFaceStencil.H.