40#ifndef domainDecomposition_H
41#define domainDecomposition_H
53class decompositionModel;
125 void distributeCells();
136 static void append(
labelList&,
const label);
139 void addInterProcFace
142 const label ownerProc,
150 template<
class BinaryOp>
151 void processInterCyclics
208 bool old(distributed_);
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A HashTable to objects of type <T> with a label key.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
MeshObject wrapper of decompositionMethod.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Automatic domain decomposition class for finite-volume meshes.
~domainDecomposition()=default
Destructor.
const fvMesh & mesh() const noexcept
The mesh.
bool distributed() const noexcept
Is decomposition data to be distributed for each processor.
void updateParameters(const dictionary ¶ms)
Update flags based on the decomposition model settings.
void writeVTK(const fileName &file) const
Write cell distribution as VTU file (binary)
label nProcs() const noexcept
Number of processor in decomposition.
bool distributed(const bool on) noexcept
Change distributed flag.
const decompositionModel & model() const
Return decomposition model used.
bool writeDecomposition(const bool decomposeSets)
Write decomposition.
const labelList & cellToProc() const noexcept
Cell-processor decomposition labels.
void writeVolField(const word &timeName) const
Write decomposition as volScalarField for visualization.
void decomposeMesh()
Decompose mesh.
A class for handling file names.
Mesh data needed to do the Finite Volume discretisation.
const labelUList & owner() const
Internal face owner. Note bypassing virtual mechanism so.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
A class for handling words, derived from Foam::string.
const polyBoundaryMesh & patches
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)