60 const label fineLevelIndex,
61 const label coarseComm
86 localRestrictAddressing.
size()
92 2*localRestrictAddressing.
size()
95 forAll(localRestrictAddressing, ffi)
106 localRestrictAddressing[ffi],
107 neighbourRestrictAddressing[ffi]
115 neighbourRestrictAddressing[ffi],
116 localRestrictAddressing[ffi]
121 cellsToCoarseFace.
find(cellPair);
123 if (fnd == cellsToCoarseFace.
end())
127 dynFaceRestrictAddressing.
append(coarseI);
128 dynFaceCells.
append(localRestrictAddressing[ffi]);
129 cellsToCoarseFace.
insert(cellPair, coarseI);
134 dynFaceRestrictAddressing.
append(fnd());
149 const label coarseComm,
150 const label myProcNo,
151 const label neighbProcNo,
161 faceRestrictAddressing
165 neighbProcNo_(neighbProcNo),
201 send(commsType, interfaceInternalField(iF)());
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
Abstract base class for GAMG agglomerated interfaces.
labelList faceRestrictAddressing_
Face restrict addressing.
labelList faceCells_
Face-cell addressing.
virtual void write(Ostream &) const =0
Write to stream.
An STL-conforming hash table.
bool insert(const Key &, const T &newElmt)
Insert a new hashedEntry.
iterator find(const Key &)
Find and return an iterator set at the hashedEntry.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
commsTypes
Types of communications.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
GAMG agglomerated processor interface.
virtual void write(Ostream &) const
Write to stream.
processorGAMGInterface(const label index, const lduInterfacePtrsList &coarseInterfaces, const lduInterface &fineInterface, const labelField &restrictAddressing, const labelField &neighbourRestrictAddressing, const label fineLevelIndex, const label coarseComm)
Construct from fine-level interface,.
virtual int myProcNo() const
Return processor number (rank in communicator)
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Initialise neighbour field transfer.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
virtual ~processorGAMGInterface()
Destructor.
virtual int neighbProcNo() const
Return neighbour processor number (rank in communicator)
An abstract base class for processor coupled interfaces.
A class for managing temporary objects.
Pair< label > labelPair
Label pair.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
To & refCast(From &r)
Reference type cast template function.
dimensionSet transform(const dimensionSet &)
defineTypeNameAndDebug(combustionModel, 0)
label readLabel(Istream &is)
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable