38#ifndef cellCellStencils_cellVolumeWeight_H
39#define cellCellStencils_cellVolumeWeight_H
48namespace cellCellStencils
98 const scalar layerRelax,
123 const label subZoneID,
127 const label donorZoneID,
131 const labelList& interpolatedOtherPatchTypes,
Minimal example by using system/controlDict.functions:
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Calculation of interpolation stencils.
const labelIOList & zoneID() const
Helper: get reference to registered zoneID. Loads volScalarField.
Volume-weighted interpolation stencil.
labelList cellTypes_
Per cell the cell type.
virtual void stencilWeights(const point &sample, const pointList &donorCcs, scalarList &weights) const
Calculate inverse distance weights for a single acceptor. Revert.
static scalar defaultOverlapTolerance_
Default overlap tolerance. Fraction of volume.
List< scalarList > cellInterpolationWeights_
Interpolation weights.
TypeName("cellVolumeWeight")
Runtime type information.
virtual const labelUList & interpolationCells() const
Indices of interpolated cells.
void walkFront(const scalar layerRelax, labelList &allCellTypes, scalarField &allWeight) 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
scalar overlapTolerance() const
Access to volume overlap tolerance.
void interpolatePatchTypes(const labelListList &addressing, const labelList &patchTypes, labelList &result) const
interpolate (= combine) patch types
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 mapDistribute & cellInterpolationMap() const
Return a communication schedule.
labelListList cellStencil_
Interpolation stencil.
virtual ~cellVolumeWeight()
Destructor.
virtual const scalarList & cellInterpolationWeight() const
Per interpolated cell the interpolation factor. (0 = use.
virtual const labelUList & cellTypes() const
Return the cell type list.
autoPtr< mapDistribute > cellInterpolationMap_
Fetch interpolated cells.
virtual bool update()
Update stencils. Return false if nothing changed.
const dictionary dict_
Dictionary of motion control parameters.
virtual const List< scalarList > & cellInterpolationWeights() const
Weights for cellStencil.
void markPatchCells(const fvMesh &mesh, const labelList &cellMap, labelList &patchCellTypes) const
according to additionalDocumentation/MEJ_oversetMesh.txt
volScalarField cellInterpolationWeight_
Amount of interpolation.
virtual const labelListList & cellStencil() const
Per interpolated cell the neighbour cells (in terms of slots as.
labelList interpolationCells_
Indices of interpolated cells.
scalar overlapTolerance_
Tolerance for volume overlap. Fraction of volume.
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...
Class containing processor-to-processor mapping information.
wordList patchTypes(nPatches)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.