49 Foam::structuredDecomp::structuredDecomp(
const dictionary& decompositionDict)
52 methodDict_(decompositionDict_.subDict(typeName +
"Coeffs")),
53 patches_(methodDict_.
lookup(
"patches"))
64 return method_().parallelAware();
81 nFaces += pbm[iter.key()].
size();
88 const labelUList& fc = pbm[iter.key()].faceCells();
96 fvMeshSubset subsetter(dynamic_cast<const fvMesh&>(mesh));
110 finalDecomp[subsetter.
cellMap()[i]] = subDecomp[i];
127 patchFaces[nFaces] = pp.
start()+i;
145 bool haveWarned =
false;
146 forAll(finalDecomp, celli)
148 if (!cellData[celli].valid(deltaCalc.data()))
153 <<
"Did not visit some cells, e.g. cell " << celli
155 <<
"Assigning these cells to domain 0." <<
endl;
158 finalDecomp[celli] = 0;
162 finalDecomp[celli] = cellData[celli].
data();
const TrackingData & data() const
Additional data to be passed into container.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A list of keyword definitions, which are a keyword followed by any number of values (e...
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Wave propagation of information through grid. Every iteration information goes through one layer of c...
static const List< label > & null()
Return a null List.
bool insert(const Key &key)
Insert a new entry.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
const fvMesh & subMesh() const
Return reference to subset mesh.
Macros for easy insertion into run-time selection tables.
stressControl lookup("compactNormalStress") >> compactNormalStress
label start() const
Return start label of this patch in the polyMesh face list.
virtual labelList decompose(const polyMesh &mesh, const pointField &points, const scalarField &pointWeights)
Return for every coordinate the wanted processor number. Use the.
const vectorField & cellCentres() const
labelHashSet patchSet(const UList< wordRe > &patchNames, const bool warnNotFound=true, const bool usePatchGroups=true) const
Return the set of patch IDs corresponding to the given names.
Abstract base class for decomposition.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
static autoPtr< decompositionMethod > New(const dictionary &decompositionDict)
Return a reference to the selected decomposition method.
const globalMeshData & globalData() const
Return parallel info.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
Post-processing mesh subset tool. Given the original mesh and the list of selected cells...
const labelList & cellMap() const
Return cell map.
#define WarningInFunction
Report a warning using Foam::Warning.
const labelUList & faceCells() const
Return face-cell addressing.
Mesh data needed to do the Finite Volume discretisation.
For use with FaceCellWave. Determines topological distance to starting faces.
void set(entry *)
Assign a new entry, overwrite any existing entry.
Mesh consisting of general polyhedral cells.
A patch is a list of labels that address the faces in the global face list.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
label nTotalCells() const
Return total number of cells in decomposed mesh.
void setLargeCellSubset(const labelList ®ion, const label currentRegion, const label patchID=-1, const bool syncCouples=true)
Set the subset from all cells with region == currentRegion.
virtual bool parallelAware() const
Is method parallel aware (i.e. does it synchronize domains across.
label size() const
Return the number of elements in the UPtrList.