extendedUpwindCellToFaceStencil Class Reference

Creates upwind stencil by shifting a centred stencil to upwind and downwind faces and optionally removing all non-(up/down)wind faces ('pureUpwind'). More...

Inheritance diagram for extendedUpwindCellToFaceStencil:
Collaboration diagram for extendedUpwindCellToFaceStencil:

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 distributionMapownMap () const
 Return reference to the parallel distribution map. More...
 
const distributionMapneiMap () const
 Return reference to the parallel distribution map. More...
 
const labelListListownStencil () const
 Return reference to the stencil. More...
 
const labelListListneiStencil () const
 Return reference to the stencil. More...
 
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. More...
 
void operator= (const extendedUpwindCellToFaceStencil &)=delete
 Disallow default bitwise assignment. More...
 
template<class Type >
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
 
- Public Member Functions inherited from extendedCellToFaceStencil
 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)
 

Additional Inherited Members

- Static Public Member Functions inherited from extendedCellToFaceStencil
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 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 polyMeshmesh_
 

Detailed Description

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.

Source files

Definition at line 59 of file extendedUpwindCellToFaceStencil.H.

Constructor & Destructor Documentation

◆ extendedUpwindCellToFaceStencil() [1/3]

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 380 of file extendedUpwindCellToFaceStencil.C.

References fvMesh::C(), extendedCellToFaceStencil::collectData(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), forAll, cellToFaceStencil::globalNumbering(), mesh, cellToFaceStencil::mesh(), UPstream::nProcs(), points, List< T >::size(), and List< T >::transfer().

Here is the call graph for this function:

◆ extendedUpwindCellToFaceStencil() [2/3]

Construct from mesh and uncompacted centred face stencil. Splits.

stencil into owner and neighbour (so always pure upwind)

Definition at line 524 of file extendedUpwindCellToFaceStencil.C.

References fvMesh::C(), extendedCellToFaceStencil::collectData(), primitiveMesh::faceAreas(), primitiveMesh::faceCentres(), forAll, cellToFaceStencil::globalNumbering(), mesh, cellToFaceStencil::mesh(), UPstream::nProcs(), points, List< T >::setSize(), List< T >::size(), and List< T >::transfer().

Here is the call graph for this function:

◆ extendedUpwindCellToFaceStencil() [3/3]

Disallow default bitwise copy construction.

Member Function Documentation

◆ pureUpwind()

bool pureUpwind ( ) const
inline

Definition at line 145 of file extendedUpwindCellToFaceStencil.H.

◆ ownMap()

◆ neiMap()

const distributionMap& neiMap ( ) const
inline

Return reference to the parallel distribution map.

Definition at line 157 of file extendedUpwindCellToFaceStencil.H.

◆ ownStencil()

◆ neiStencil()

const labelListList& neiStencil ( ) const
inline

Return reference to the stencil.

Definition at line 169 of file extendedUpwindCellToFaceStencil.H.

References fld(), extendedUpwindCellToFaceStencil::operator=(), phi, and extendedUpwindCellToFaceStencil::weightedSum().

Here is the call graph for this function:

◆ weightedSum() [1/2]

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.

Referenced by PureUpwindFitScheme< Type, Polynomial, Stencil >::correction(), UpwindFitScheme< Type, Polynomial, Stencil >::correction(), and extendedUpwindCellToFaceStencil::neiStencil().

Here is the caller graph for this function:

◆ operator=()

void operator= ( const extendedUpwindCellToFaceStencil )
delete

Disallow default bitwise assignment.

Referenced by extendedUpwindCellToFaceStencil::neiStencil().

Here is the caller graph for this function:

◆ weightedSum() [2/2]


The documentation for this class was generated from the following files: