52 methodDict_(decompositionDict_.optionalSubDict(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 polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
#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...
label nTotalCells() const
Return total number of cells in decomposed mesh.
static const List< label > & null()
Return a null List.
bool insert(const Key &key)
Insert a new entry.
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.
Macros for easy insertion into run-time selection tables.
const fvMesh & subMesh() const
Return reference to subset mesh.
stressControl lookup("compactNormalStress") >> compactNormalStress
const labelUList & faceCells() const
Return face-cell addressing.
virtual labelList decompose(const polyMesh &mesh, const pointField &points, const scalarField &pointWeights)
Return for every coordinate the wanted processor number. Use the.
const globalMeshData & globalData() const
Return parallel info.
Abstract base class for decomposition.
const labelList & cellMap() const
Return cell map.
const vectorField & cellCentres() const
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.
virtual bool parallelAware() const
Is method parallel aware (i.e. does it synchronise domains across.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
Post-processing mesh subset tool. Given the original mesh and the list of selected cells...
structuredDecomp(const dictionary &decompositionDict)
Construct given the decomposition dictionary.
label size() const
Return the number of elements in the UPtrList.
#define WarningInFunction
Report a warning using Foam::Warning.
const TrackingData & data() const
Additional data to be passed into container.
Mesh data needed to do the Finite Volume discretisation.
label start() const
Return start label of this patch in the polyMesh face list.
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.
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.