58 methodDict_(findCoeffsDict(typeName +
"Coeffs",
selectionType::MANDATORY)),
59 patches_(methodDict_.get<
wordRes>(
"patches"))
70 return method_().parallelAware();
85 for (
const label patchi : patchIDs)
92 for (
const label patchi : patchIDs)
108 labelList subDecomp(method_().decompose(subMesh, subCc, subWeights));
115 finalDecomp[subsetter.
cellMap()[i]] = subDecomp[i];
126 for (
const label patchi : patchIDs)
150 bool haveWarned =
false;
151 forAll(finalDecomp, celli)
153 if (!cellData[celli].valid(deltaCalc.
data()))
158 <<
"Did not visit some cells, e.g. cell " << celli
160 <<
"Assigning these cells to domain 0." <<
endl;
163 finalDecomp[celli] = 0;
167 finalDecomp[celli] = cellData[celli].
data();
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Wave propagation of information through grid. Every iteration information goes through one layer of c...
const TrackingData & data() const
Additional data to be passed into container.
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
T * data() noexcept
Return pointer to the underlying array serving as data storage.
void size(const label n)
Older name for setAddressableSize.
label size() const noexcept
The number of elements in the list.
Abstract base class for domain decomposition.
selectionType
Selection type when handling the coefficients dictionary.
label nDomains() const noexcept
Number of domains.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
entry * set(entry *entryPtr)
Assign a new entry, overwriting any existing entry.
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.
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.
const vectorField & cellCentres() const
label nCells() const noexcept
Number of mesh cells.
label nFaces() const noexcept
Number of mesh faces.
Walk out decomposition of patch cells mesh - selectable as structured.
virtual bool parallelAware() const
Is method parallel aware.
For use with FaceCellWave. Determines topological distance to starting faces. Templated on passive tr...
bool decompose() const noexcept
Query the decompose flag (normally off)
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Foam::word regionName(Foam::polyMesh::defaultRegion)
const labelList nFaces(UPstream::listGatherValues< label >(aMesh.nFaces()))
#define WarningInFunction
Report a warning using Foam::Warning.
Ostream & endl(Ostream &os)
Add newline and flush stream.
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.