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()))
152 WarningIn(
"structuredDecomp::decompose(..)")
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();
179 "structuredDecomp::decompose\n" 181 " const labelListList&,\n" 182 " const pointField&,\n" 183 " const scalarField&\n"
Mesh data needed to do the Finite Volume discretisation.
label size() const
Return the number of elements in the PtrList.
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.
static const List< label > & null()
Return a null List.
For use with FaceCellWave. Determines topological distance to starting faces.
const labelUList & faceCells() const
Return face-cell addressing.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void size(const label)
Override size to be inconsistent with allocated storage.
const fvMesh & subMesh() const
Return reference to subset mesh.
const vectorField & cellCentres() const
const labelList & cellMap() const
Return cell map.
A list of keyword definitions, which are a keyword followed by any number of values (e...
A patch is a list of labels that address the faces in the global face list.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
Ostream & endl(Ostream &os)
Add newline and flush stream.
stressControl lookup("compactNormalStress") >> compactNormalStress
Wave propagation of information through grid. Every iteration information goes through one layer of c...
#define WarningIn(functionName)
Report a warning using Foam::Warning.
Abstract base class for decomposition.
label nTotalCells() const
Return total number of cells in decomposed mesh.
Macros for easy insertion into run-time selection tables.
static autoPtr< decompositionMethod > New(const dictionary &decompositionDict)
Return a reference to the selected decomposition method.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
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.
label start() const
Return start label of this patch in the polyMesh face list.
Mesh consisting of general polyhedral cells.
void set(entry *)
Assign a new entry, overwrite any existing entry.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const TrackingData & data() const
Additional data to be passed into container.
virtual bool parallelAware() const
Is method parallel aware (i.e. does it synchronize domains across.
#define notImplemented(functionName)
Issue a FatalErrorIn for a function not currently implemented.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
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.
defineTypeNameAndDebug(combustionModel, 0)
Post-processing mesh subset tool. Given the original mesh and the list of selected cells...
bool insert(const Key &key)
Insert a new entry.