Creates upwind stencil by shifting a centred stencil to upwind and downwind faces and optionally removing all non-(up/down)wind faces ('pureUpwind'). More...
Public Member Functions | |
extendedUpwindCellToFaceStencil (const cellToFaceStencil &, const bool pureUpwind, const scalar minOpposedness) | |
Construct from mesh and uncompacted centred face stencil. More... | |
extendedUpwindCellToFaceStencil (const cellToFaceStencil &) | |
Construct from mesh and uncompacted centred face stencil. Splits. More... | |
extendedUpwindCellToFaceStencil (const extendedUpwindCellToFaceStencil &)=delete | |
Disallow default bitwise copy construction. More... | |
bool | pureUpwind () const |
const distributionMap & | ownMap () const |
Return reference to the parallel distribution map. More... | |
const distributionMap & | neiMap () const |
Return reference to the parallel distribution map. More... | |
const labelListList & | ownStencil () const |
Return reference to the stencil. More... | |
const labelListList & | neiStencil () const |
Return reference to the stencil. More... | |
template<class Type > | |
tmp< SurfaceField< Type > > | weightedSum (const surfaceScalarField &phi, const VolField< Type > &fld, const List< List< scalar >> &ownWeights, const List< List< scalar >> &neiWeights) const |
Sum vol field contributions to create face values. More... | |
void | operator= (const extendedUpwindCellToFaceStencil &)=delete |
Disallow default bitwise assignment. More... | |
template<class Type > | |
Foam::tmp< Foam::SurfaceField< Type > > | weightedSum (const surfaceScalarField &phi, const VolField< Type > &fld, const List< List< scalar >> &ownWeights, const List< List< scalar >> &neiWeights) const |
Public Member Functions inherited from extendedCellToFaceStencil | |
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) |
Additional Inherited Members | |
Static Public Member Functions inherited from extendedCellToFaceStencil | |
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 inherited from extendedCellToFaceStencil | |
static void | writeStencilStats (Ostream &os, const labelListList &stencil, const distributionMap &map) |
Write some statistics about stencil. More... | |
Protected Attributes inherited from extendedCellToFaceStencil | |
const polyMesh & | mesh_ |
Creates upwind stencil by shifting a centred stencil to upwind and downwind faces and optionally removing all non-(up/down)wind faces ('pureUpwind').
Note: the minOpposedness parameter is to decide which upwind and downwind faces to combine the stencils from. If myArea is the local area and upwindArea the area of the possible upwind candidate it will be included if (upwindArea & myArea)/magSqr(myArea) > minOpposedness so this includes both cosine and area. WIP.
Definition at line 59 of file extendedUpwindCellToFaceStencil.H.
extendedUpwindCellToFaceStencil | ( | const cellToFaceStencil & | stencil, |
const bool | pureUpwind, | ||
const scalar | minOpposedness | ||
) |
Construct from mesh and uncompacted centred face stencil.
Transports facestencil to create owner and neighbour versions. pureUpwind to remove any remaining downwind cells.
Definition at line 379 of file extendedUpwindCellToFaceStencil.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), fvMesh::C(), extendedCellToFaceStencil::collectData(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), forAll, cellToFaceStencil::globalNumbering(), cellToFaceStencil::mesh(), UPstream::nProcs(), points, List< T >::size(), and List< T >::transfer().
extendedUpwindCellToFaceStencil | ( | const cellToFaceStencil & | stencil | ) |
Construct from mesh and uncompacted centred face stencil. Splits.
stencil into owner and neighbour (so always pure upwind)
Definition at line 523 of file extendedUpwindCellToFaceStencil.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), fvMesh::C(), extendedCellToFaceStencil::collectData(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), forAll, cellToFaceStencil::globalNumbering(), cellToFaceStencil::mesh(), UPstream::nProcs(), points, List< T >::setSize(), List< T >::size(), and List< T >::transfer().
|
delete |
Disallow default bitwise copy construction.
|
inline |
Definition at line 145 of file extendedUpwindCellToFaceStencil.H.
|
inline |
Return reference to the parallel distribution map.
Definition at line 151 of file extendedUpwindCellToFaceStencil.H.
Referenced by pureUpwindCFCCellToFaceStencilObject::pureUpwindCFCCellToFaceStencilObject(), upwindCECCellToFaceStencilObject::upwindCECCellToFaceStencilObject(), upwindCFCCellToFaceStencilObject::upwindCFCCellToFaceStencilObject(), upwindCPCCellToFaceStencilObject::upwindCPCCellToFaceStencilObject(), upwindFECCellToFaceStencilObject::upwindFECCellToFaceStencilObject(), and extendedUpwindCellToFaceStencil::weightedSum().
|
inline |
Return reference to the parallel distribution map.
Definition at line 157 of file extendedUpwindCellToFaceStencil.H.
Referenced by extendedUpwindCellToFaceStencil::weightedSum().
|
inline |
Return reference to the stencil.
Definition at line 163 of file extendedUpwindCellToFaceStencil.H.
Referenced by pureUpwindCFCCellToFaceStencilObject::pureUpwindCFCCellToFaceStencilObject(), upwindCECCellToFaceStencilObject::upwindCECCellToFaceStencilObject(), upwindCFCCellToFaceStencilObject::upwindCFCCellToFaceStencilObject(), upwindCPCCellToFaceStencilObject::upwindCPCCellToFaceStencilObject(), upwindFECCellToFaceStencilObject::upwindFECCellToFaceStencilObject(), and extendedUpwindCellToFaceStencil::weightedSum().
|
inline |
Return reference to the stencil.
Definition at line 169 of file extendedUpwindCellToFaceStencil.H.
Referenced by extendedUpwindCellToFaceStencil::weightedSum().
tmp<SurfaceField<Type> > weightedSum | ( | const surfaceScalarField & | phi, |
const VolField< Type > & | fld, | ||
const List< List< scalar >> & | ownWeights, | ||
const List< List< scalar >> & | neiWeights | ||
) | const |
Sum vol field contributions to create face values.
Referenced by PureUpwindFitScheme< Type, Polynomial, Stencil >::correction(), and UpwindFitScheme< Type, Polynomial, Stencil >::correction().
|
delete |
Disallow default bitwise assignment.
Foam::tmp<Foam::SurfaceField<Type> > weightedSum | ( | const surfaceScalarField & | phi, |
const VolField< Type > & | fld, | ||
const List< List< scalar >> & | ownWeights, | ||
const List< List< scalar >> & | neiWeights | ||
) | const |
Definition at line 32 of file extendedUpwindCellToFaceStencilTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), extendedCellToFaceStencil::collectData(), fvsPatchField< Type >::coupled(), fld(), forAll, extendedUpwindCellToFaceStencil::neiMap(), extendedUpwindCellToFaceStencil::neiStencil(), primitiveMesh::nInternalFaces(), extendedUpwindCellToFaceStencil::ownMap(), extendedUpwindCellToFaceStencil::ownStencil(), fvsPatchField< Type >::patch(), patchi, tmp< T >::ref(), sf(), fvPatch::start(), and Foam::Zero.