Go to the documentation of this file.
40 GAMGProcAgglomeration,
41 eagerGAMGProcAgglomeration,
49 Foam::eagerGAMGProcAgglomeration::eagerGAMGProcAgglomeration
82 printStats(
Pout, agglom_);
85 if (agglom_.size() >= 1)
91 label fineLevelIndex = 2;
92 fineLevelIndex < agglom_.size();
96 if (agglom_.hasMeshLevel(fineLevelIndex))
99 const lduMesh& levelMesh = agglom_.meshLevel(fineLevelIndex);
109 forAll(procAgglomMap, proci)
111 procAgglomMap[proci] = proci/(1<<mergeLevels_);
159 Pout<<
nl <<
"Agglomerated mesh overview" <<
endl;
160 printStats(
Pout, agglom_);
int debug
Static debugging option.
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
Geometric agglomerated algebraic multigrid agglomeration class.
static label nProcs(const label communicator=0)
Number of processes in parallel run.
Ostream & endl(Ostream &os)
Add newline and flush stream.
prefixOSstream Pout
An Ostream wrapper for parallel output to std::cout.
#define forAll(list, i)
Loop across all elements in list.
static void calculateRegionMaster(const label comm, const labelList &procAgglomMap, labelList &masterProcs, List< label > &agglomProcIDs)
Given fine to coarse processor map determine:
static label allocateCommunicator(const label parent, const labelList &subRanks, const bool doPstream=true)
Allocate a new communicator.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual bool agglomerate()=0
Modify agglomeration. Return true if modified.
runTime controlDict().readEntry("adjustTimeStep"
virtual bool agglomerate()
Modify agglomeration. Return true if modified.
static void freeCommunicator(const label communicator, const bool doPstream=true)
Free a previously allocated communicator.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
virtual ~eagerGAMGProcAgglomeration()
Destructor.
virtual label comm() const =0
Return communicator used for parallel communication.
#define forAllReverse(list, i)
Reverse loop across all elements in list.
Processor agglomeration of GAMGAgglomerations.
defineTypeNameAndDebug(combustionModel, 0)
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...