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