Go to the documentation of this file.
38 #ifndef cellCellStencils_cellVolumeWeight_H
39 #define cellCellStencils_cellVolumeWeight_H
48 namespace cellCellStencils
98 const scalar layerRelax,
123 const label subZoneID,
127 const label donorZoneID,
131 const labelList& interpolatedOtherPatchTypes,
labelList cellTypes_
Per cell the cell type.
labelListList cellStencil_
Interpolation stencil.
labelList interpolationCells_
Indices of interpolated cells.
virtual const mapDistribute & cellInterpolationMap() const
Return a communication schedule.
virtual const List< scalarList > & cellInterpolationWeights() const
Weights for cellStencil.
virtual ~cellVolumeWeight()
Destructor.
TypeName("cellVolumeWeight")
Runtime type information.
List< scalarList > cellInterpolationWeights_
Interpolation weights.
virtual const labelUList & cellTypes() const
Return the cell type list.
Volume-weighted interpolation stencil.
void markPatchCells(const fvMesh &mesh, const labelList &cellMap, labelList &patchCellTypes) const
according to additionalDocumentation/MEJ_oversetMesh.txt
wordList patchTypes(nPatches)
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
interpolate (= combine) patch types
const dictionary dict_
Dictionary of motion control parameters.
const labelIOList & zoneID() const
Helper: get reference to registered zoneID. Loads volScalarField.
Class containing processor-to-processor mapping information.
void walkFront(const scalar layerRelax, labelList &allCellTypes, scalarField &allWeight) const
autoPtr< mapDistribute > cellInterpolationMap_
Fetch interpolated cells.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
scalar overlapTolerance() const
Access to volume overlap tolerance.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual const scalarList & cellInterpolationWeight() const
Per interpolated cell the interpolation factor. (0 = use.
void findHoles(const globalIndex &globalCells, const fvMesh &mesh, const labelList &zoneID, const labelListList &stencil, labelList &cellTypes) const
Find cells next to cells of type PATCH.
virtual const labelUList & interpolationCells() const
Indices of interpolated cells.
Calculation of interpolation stencils.
static scalar defaultOverlapTolerance_
Default overlap tolerance. Fraction of volume.
virtual void stencilWeights(const point &sample, const pointList &donorCcs, scalarList &weights) const
Calculate inverse distance weights for a single acceptor. Revert.
volScalarField cellInterpolationWeight_
Amount of interpolation.
scalar overlapTolerance_
Tolerance for volume overlap. Fraction of volume.
virtual bool update()
Update stencils. Return false if nothing changed.
Minimal example by using system/controlDict.functions:
virtual const labelListList & cellStencil() const
Per interpolated cell the neighbour cells (in terms of slots as.