Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
cellVolumeWeight Class Reference

Volume-weighted interpolation stencil. More...

Inheritance diagram for cellVolumeWeight:
Inheritance graph
[legend]
Collaboration diagram for cellVolumeWeight:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("cellVolumeWeight")
 
 cellVolumeWeight (const fvMesh &, const dictionary &, const bool doUpdate)
 
virtual ~cellVolumeWeight ()
 
scalar overlapTolerance () const
 
virtual bool update ()
 
virtual const labelUListcellTypes () const
 
virtual const labelUListinterpolationCells () const
 
virtual const mapDistributecellInterpolationMap () const
 
virtual const labelListListcellStencil () const
 
virtual const List< scalarList > & cellInterpolationWeights () const
 
virtual const scalarListcellInterpolationWeight () const
 
virtual void stencilWeights (const point &sample, const pointList &donorCcs, scalarList &weights) const
 
- Public Member Functions inherited from cellCellStencil
 TypeName ("cellCellStencil")
 
 declareRunTimeSelectionTable (autoPtr, cellCellStencil, mesh,(const fvMesh &mesh, const dictionary &dict, const bool update),(mesh, dict, update))
 
 cellCellStencil (const fvMesh &)
 
virtual ~cellCellStencil ()
 
virtual const wordHashSetnonInterpolatedFields () const
 
virtual wordHashSetnonInterpolatedFields ()
 
bool localStencil (const labelUList &) const
 
const labelIOListzoneID () const
 
template<class Type >
Foam::tmp< Foam::volScalarFieldcreateField (const fvMesh &mesh, const word &name, const UList< Type > &psi)
 

Protected Member Functions

void walkFront (const scalar layerRelax, labelList &allCellTypes, scalarField &allWeight) const
 
void findHoles (const globalIndex &globalCells, const fvMesh &mesh, const labelList &zoneID, const labelListList &stencil, labelList &cellTypes) const
 
void markPatchCells (const fvMesh &mesh, const labelList &cellMap, labelList &patchCellTypes) const
 
void combineCellTypes (const label subZoneID, const fvMesh &subMesh, const labelList &subCellMap, const label donorZoneID, const labelListList &toOtherCells, const List< scalarList > &weights, const labelList &otherCells, const labelList &interpolatedOtherPatchTypes, labelListList &allStencil, scalarListList &allWeights, labelList &allCellTypes, labelList &allDonorID) const
 
void interpolatePatchTypes (const labelListList &addressing, const labelList &patchTypes, labelList &result) const
 
void interpolatePatchTypes (const autoPtr< mapDistribute > &mapPtr, const labelListList &addressing, const labelList &patchTypes, labelList &result) const
 

Protected Attributes

const dictionary dict_
 
scalar overlapTolerance_
 
labelList cellTypes_
 
labelList interpolationCells_
 
autoPtr< mapDistributecellInterpolationMap_
 
labelListList cellStencil_
 
List< scalarListcellInterpolationWeights_
 
volScalarField cellInterpolationWeight_
 
- Protected Attributes inherited from cellCellStencil
const fvMeshmesh_
 
wordHashSet nonInterpolatedFields_
 

Static Protected Attributes

static scalar defaultOverlapTolerance_ = 1e-6
 
- Static Protected Attributes inherited from cellCellStencil
static const Enum< cellTypecellTypeNames_
 

Additional Inherited Members

- Public Types inherited from cellCellStencil
enum  patchCellType { OTHER = 0, PATCH = 1, OVERSET = 2 }
 
enum  cellType { CALCULATED = 0, INTERPOLATED = 1, HOLE = 2 }
 
- Static Public Member Functions inherited from cellCellStencil
static autoPtr< cellCellStencilNew (const fvMesh &, const dictionary &dict, const bool update=true)
 
static const labelIOListzoneID (const fvMesh &)
 
static void globalCellCells (const globalIndex &gi, const polyMesh &mesh, const boolList &isValidDonor, const labelList &selectedCells, labelListList &cellCells, pointListList &cellCellCentres)
 
- Static Protected Member Functions inherited from cellCellStencil
static labelList count (const label size, const labelUList &lst)
 
template<class Type >
static tmp< volScalarFieldcreateField (const fvMesh &mesh, const word &name, const UList< Type > &)
 

Detailed Description

Volume-weighted interpolation stencil.

Source files

Definition at line 50 of file cellVolumeWeightCellCellStencil.H.

Constructor & Destructor Documentation

◆ cellVolumeWeight()

cellVolumeWeight ( const fvMesh mesh,
const dictionary dict,
const bool  doUpdate 
)

Definition at line 655 of file cellVolumeWeightCellCellStencil.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), forAll, Foam::Pout, IOobject::typeHeaderOk(), update(), and zoneID.

Here is the call graph for this function:

◆ ~cellVolumeWeight()

~cellVolumeWeight ( )
virtual

Definition at line 734 of file cellVolumeWeightCellCellStencil.C.

Member Function Documentation

◆ walkFront()

void walkFront ( const scalar  layerRelax,
labelList allCellTypes,
scalarField allWeight 
) const
protected

Definition at line 53 of file cellVolumeWeightCellCellStencil.C.

References bitSet::count(), Foam::endl(), forAll, Foam::Info, Foam::returnReduce(), bitSet::set(), bitSet::test(), and bitSet::transfer().

Here is the call graph for this function:

◆ findHoles()

void findHoles ( const globalIndex globalCells,
const fvMesh mesh,
const labelList zoneID,
const labelListList stencil,
labelList cellTypes 
) const
protected

◆ markPatchCells()

void markPatchCells ( const fvMesh mesh,
const labelList cellMap,
labelList patchCellTypes 
) const
protected

Definition at line 438 of file cellVolumeWeightCellCellStencil.C.

References fvPatch::faceCells(), forAll, and mesh.

Here is the call graph for this function:

◆ combineCellTypes()

void combineCellTypes ( const label  subZoneID,
const fvMesh subMesh,
const labelList subCellMap,
const label  donorZoneID,
const labelListList toOtherCells,
const List< scalarList > &  weights,
const labelList otherCells,
const labelList interpolatedOtherPatchTypes,
labelListList allStencil,
scalarListList allWeights,
labelList allCellTypes,
labelList allDonorID 
) const
protected

Definition at line 546 of file cellVolumeWeightCellCellStencil.C.

References forAll, and Foam::mag().

Here is the call graph for this function:

◆ interpolatePatchTypes() [1/2]

void interpolatePatchTypes ( const labelListList addressing,
const labelList patchTypes,
labelList result 
) const
protected

Definition at line 478 of file cellVolumeWeightCellCellStencil.C.

References forAll, and patchTypes().

Here is the call graph for this function:

◆ interpolatePatchTypes() [2/2]

void interpolatePatchTypes ( const autoPtr< mapDistribute > &  mapPtr,
const labelListList addressing,
const labelList patchTypes,
labelList result 
) const
protected

Definition at line 513 of file cellVolumeWeightCellCellStencil.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, and patchTypes().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "cellVolumeWeight"  )

◆ overlapTolerance()

scalar overlapTolerance ( ) const
inline

◆ update()

bool update ( )
virtual

◆ cellTypes()

virtual const labelUList& cellTypes ( ) const
inlinevirtual

Implements cellCellStencil.

Definition at line 191 of file cellVolumeWeightCellCellStencil.H.

References cellVolumeWeight::cellTypes_.

◆ interpolationCells()

virtual const labelUList& interpolationCells ( ) const
inlinevirtual

◆ cellInterpolationMap()

virtual const mapDistribute& cellInterpolationMap ( ) const
inlinevirtual

Implements cellCellStencil.

Definition at line 203 of file cellVolumeWeightCellCellStencil.H.

References cellVolumeWeight::cellInterpolationMap_, and cellVolumeWeight::update().

Here is the call graph for this function:

◆ cellStencil()

virtual const labelListList& cellStencil ( ) const
inlinevirtual

Implements cellCellStencil.

Definition at line 214 of file cellVolumeWeightCellCellStencil.H.

References cellVolumeWeight::cellStencil_.

◆ cellInterpolationWeights()

virtual const List<scalarList>& cellInterpolationWeights ( ) const
inlinevirtual

◆ cellInterpolationWeight()

virtual const scalarList& cellInterpolationWeight ( ) const
inlinevirtual

◆ stencilWeights()

void stencilWeights ( const point sample,
const pointList donorCcs,
scalarList weights 
) const
virtual

Implements cellCellStencil.

Definition at line 1272 of file cellVolumeWeightCellCellStencil.C.

References forAll, Foam::mag(), List::setSize(), and Foam::sum().

Here is the call graph for this function:

Member Data Documentation

◆ defaultOverlapTolerance_

Foam::scalar defaultOverlapTolerance_ = 1e-6
staticprotected

Definition at line 59 of file cellVolumeWeightCellCellStencil.H.

◆ dict_

const dictionary dict_
protected

Definition at line 65 of file cellVolumeWeightCellCellStencil.H.

◆ overlapTolerance_

scalar overlapTolerance_
protected

◆ cellTypes_

labelList cellTypes_
protected

Definition at line 71 of file cellVolumeWeightCellCellStencil.H.

Referenced by cellVolumeWeight::cellTypes().

◆ interpolationCells_

labelList interpolationCells_
protected

◆ cellInterpolationMap_

autoPtr<mapDistribute> cellInterpolationMap_
protected

◆ cellStencil_

labelListList cellStencil_
protected

Definition at line 80 of file cellVolumeWeightCellCellStencil.H.

Referenced by cellVolumeWeight::cellStencil().

◆ cellInterpolationWeights_

List<scalarList> cellInterpolationWeights_
protected

◆ cellInterpolationWeight_

volScalarField cellInterpolationWeight_
protected

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