Creates upwind stencil by shifting a centred stencil to upwind and downwind faces and optionally removing all non-(up/down)wind faces ('pureUpwind'). More...
#include <finiteVolume/extendedUpwindCellToFaceStencil.H>
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 60 of file extendedUpwindCellToFaceStencil.H.
Public Member Functions | |
extendedUpwindCellToFaceStencil (const cellToFaceStencil &, const bool pureUpwind, const scalar minOpposedness) | |
Construct from mesh and uncompacted centred face stencil.
| |
extendedUpwindCellToFaceStencil (const cellToFaceStencil &) | |
Construct from mesh and uncompacted centred face stencil. Splits.
| |
bool | pureUpwind () const |
const mapDistribute & | ownMap () const |
Return reference to the parallel distribution map.
| |
const mapDistribute & | neiMap () const |
Return reference to the parallel distribution map.
| |
const labelListList & | ownStencil () const |
Return reference to the stencil.
| |
const labelListList & | neiStencil () const |
Return reference to the stencil.
| |
template<class Type > | |
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > | weightedSum (const surfaceScalarField &phi, const GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< scalar > > &ownWeights, const List< List< scalar > > &neiWeights) const |
Sum vol field contributions to create face values.
|
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 375 of file extendedUpwindCellToFaceStencil.C.
References fvMesh::C(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), forAll, cellToFaceStencil::globalNumbering(), mesh, cellToFaceStencil::mesh(), points, and List< T >::size().
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 506 of file extendedUpwindCellToFaceStencil.C.
References forAll, cellToFaceStencil::globalNumbering(), mesh, cellToFaceStencil::mesh(), points, List< T >::setSize(), and List< T >::size().
bool pureUpwind | ( | ) | const [inline]
|
Definition at line 147 of file extendedUpwindCellToFaceStencil.H.
const mapDistribute& ownMap | ( | ) | const [inline]
|
Return reference to the parallel distribution map.
Definition at line 153 of file extendedUpwindCellToFaceStencil.H.
Referenced by pureUpwindCFCCellToFaceStencilObject::pureUpwindCFCCellToFaceStencilObject(), upwindCECCellToFaceStencilObject::upwindCECCellToFaceStencilObject(), upwindCFCCellToFaceStencilObject::upwindCFCCellToFaceStencilObject(), upwindCPCCellToFaceStencilObject::upwindCPCCellToFaceStencilObject(), and upwindFECCellToFaceStencilObject::upwindFECCellToFaceStencilObject().
const mapDistribute& neiMap | ( | ) | const [inline]
|
Return reference to the parallel distribution map.
Definition at line 159 of file extendedUpwindCellToFaceStencil.H.
const labelListList& ownStencil | ( | ) | const [inline]
|
Return reference to the stencil.
Definition at line 165 of file extendedUpwindCellToFaceStencil.H.
Referenced by pureUpwindCFCCellToFaceStencilObject::pureUpwindCFCCellToFaceStencilObject(), upwindCECCellToFaceStencilObject::upwindCECCellToFaceStencilObject(), upwindCFCCellToFaceStencilObject::upwindCFCCellToFaceStencilObject(), upwindCPCCellToFaceStencilObject::upwindCPCCellToFaceStencilObject(), and upwindFECCellToFaceStencilObject::upwindFECCellToFaceStencilObject().
const labelListList& neiStencil | ( | ) | const [inline]
|
Return reference to the stencil.
Definition at line 171 of file extendedUpwindCellToFaceStencil.H.
Foam::tmp< Foam::GeometricField< Type, Foam::fvsPatchField, Foam::surfaceMesh > > weightedSum | ( | const surfaceScalarField & | phi, |
const GeometricField< Type, fvPatchField, volMesh > & | fld, | ||
const List< List< scalar > > & | ownWeights, | ||
const List< List< scalar > > & | neiWeights | ||
) | const |
Sum vol field contributions to create face values.
Definition at line 33 of file extendedUpwindCellToFaceStencilTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), 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 UpwindFitScheme< Type, Polynomial, Stencil >::correction(), and PureUpwindFitScheme< Type, Polynomial, Stencil >::correction().