58 coeffsDict_(
dict.optionalSubDict(typeName +
"Coeffs")),
59 patches_(coeffsDict_.get<
wordRes>(
"patches")),
60 nLayers_(coeffsDict_.getOrDefault<label>(
"nLayers",
labelMax)),
61 depthFirst_(coeffsDict_.get<
bool>(
"depthFirst")),
62 reverse_(coeffsDict_.get<
bool>(
"reverse")),
132 return order_[a] < order_[
b];
148 <<
" should equal the number of cells " <<
mesh.
nCells()
156 for (
const label patchi : patchIDs)
164 for (
const label
patchId : patchIDs)
172 const label nLayers = nTotalCells/nTotalSeeds;
174 Info<<
type() <<
" : seeding " << nTotalSeeds
175 <<
" cells on (estimated) " << nLayers <<
" layers" <<
nl
204 orderedToOld[subsetter.
cellMap()[i]] =
205 globalSubCells.
toGlobal(subOrigToOrdered[i]);
214 for (
const label patchi : patchIDs)
247 Info<<
type() <<
" : did not visit "
249 <<
" cells out of " << nTotalCells
250 <<
"; using " << method_().type() <<
" renumbering for these" <<
endl;
270 layerLess(depthFirst_, oldToOrdered, cellData)
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
label nUnvisitedCells() const
virtual label iterate(const label maxIter)
Iterate until no changes or maxIter reached.
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
label size() const noexcept
The number of elements in table.
Version of FaceCellWave that walks through prismatic cells only.
void size(const label n)
Older name for setAddressableSize.
label size() const noexcept
The number of elements in the list.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
friend Ostream & operator(Ostream &, const faMatrix< Type > &)
Smooth ATC in cells next to a set of patches supplied by type.
Holds a reference to the original mesh (the baseMesh) and optionally to a subset of that mesh (the su...
const labelList & cellMap() const
Return cell map.
const fvMesh & subMesh() const
Return reference to subset mesh.
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...
label toGlobal(const label i) const
From local to global index.
label nTotalCells() const noexcept
Return total number of cells in decomposed mesh.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
labelHashSet patchSet(const UList< wordRe > &patchNames, const bool warnNotFound=true, const bool useGroups=true) const
Return the set of patch IDs corresponding to the given names.
Mesh consisting of general polyhedral cells.
const globalMeshData & globalData() const
Return parallel info.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
A patch is a list of labels that address the faces in the global face list.
label start() const
Return start label of this patch in the polyMesh face list.
const labelUList & faceCells() const
Return face-cell addressing.
label nCells() const noexcept
Number of mesh cells.
label nFaces() const noexcept
Number of mesh faces.
Abstract base class for renumbering.
Less function class that can be used for sorting according to.
Renumbering according to mesh layers. depthFirst = true: first column gets ids 0.....
virtual labelList renumber(const pointField &) const
For use with FaceCellWave. Determines topological distance to starting faces. Templated on passive tr...
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
const Type & data() const
A List of wordRe with additional matching capabilities.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const labelList nFaces(UPstream::listGatherValues< label >(aMesh.nFaces()))
void reverse(UList< T > &list, const label n)
Reverse the first n elements of the list.
messageStream Info
Information stream (stdout output on master, null elsewhere)
IntListType renumber(const labelUList &oldToNew, const IntListType &input)
Renumber the values (not the indices) of a list.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Ostream & endl(Ostream &os)
Add newline and flush stream.
labelList sortedOrder(const UList< T > &input)
Return the (stable) sort order for the list.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
labelList invert(const label len, const labelUList &map)
Create an inverse one-to-one mapping.
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce (copy) and return value.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.