36 namespace fvMeshDistributors
55 redistributionInterval_ =
96 redistributionInterval_(1),
116 bool redistributed =
false;
128 const scalar idealNCells =
139 Info<<
"Redistributing mesh with imbalance " << imbalance <<
endl;
149 redistributed =
true;
153 return redistributed;
scalar maxImbalance_
Maximum imbalance between the ideal number of cells per processor.
virtual bool update()
Distribute the.
label redistributionInterval_
Time-step interval between redistribution calls.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
A list of keyword definitions, which are a keyword followed by any number of values (e...
void readDict()
Read the projection parameters from dictionary.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void distribute(const labelList &distribution)
Distribute the mesh and mesh data.
label nTotalCells() const
Return total number of cells in decomposed mesh.
const Time & time() const
Return the top-level database.
Macros for easy insertion into run-time selection tables.
Sends/receives parts of mesh+fvfields to neighbouring processors. Used in load balancing.
addToRunTimeSelectionTable(fvMeshDistributor, none, fvMesh)
autoPtr< polyDistributionMap > distribute(const labelList &dist)
Send cells to neighbours according to distribution.
virtual bool write(const bool write=true) const
Write using given format, version and compression.
defineTypeNameAndDebug(none, 0)
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
fvMesh & mesh()
Return the fvMesh.
const globalMeshData & globalData() const
Return parallel info.
Abstract base class for decomposition.
virtual void distribute(const polyDistributionMap &map)
Redistribute or update using the given distribution map.
Dynamic mesh redistribution using the distributor specified in decomposeParDict.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
virtual ~distributor()
Destructor.
Abstract base class for fvMesh movers.
static label nProcs(const label communicator=0)
Number of processes in parallel run.
label timeIndex() const
Return current time index.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
label timeIndex_
The time index used for updating.
Mesh data needed to do the Finite Volume discretisation.
dimensioned< scalar > mag(const dimensioned< Type > &)
autoPtr< decompositionMethod > distributor_
Cache the decomposer/distributor.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Class containing mesh-to-mesh mapping information.
distributor(fvMesh &mesh)
Construct from fvMesh.
virtual void topoChange(const polyTopoChangeMap &)
Update corresponding to the given map.