39 processorGAMGInterface,
45 processorGAMGInterface,
53 Foam::processorGAMGInterface::processorGAMGInterface
60 const label fineLevelIndex,
61 const label coarseComm
70 myProcNo_(refCast<const processorLduInterface>(fineInterface).myProcNo()),
73 refCast<const processorLduInterface>(fineInterface).neighbProcNo()
75 forwardT_(refCast<const processorLduInterface>(fineInterface).forwardT()),
76 tag_(refCast<const processorLduInterface>(fineInterface).tag())
83 localRestrictAddressing.
size()
89 2*localRestrictAddressing.
size()
92 forAll(localRestrictAddressing, ffi)
98 if (myProcNo() < neighbProcNo())
103 localRestrictAddressing[ffi],
104 neighbourRestrictAddressing[ffi]
112 neighbourRestrictAddressing[ffi],
113 localRestrictAddressing[ffi]
118 cellsToCoarseFace.
find(cellPair);
120 if (fnd == cellsToCoarseFace.
end())
123 label coarseI = dynFaceCells.size();
124 dynFaceRestrictAddressing.append(coarseI);
125 dynFaceCells.append(localRestrictAddressing[ffi]);
126 cellsToCoarseFace.insert(cellPair, coarseI);
131 dynFaceRestrictAddressing.append(fnd());
135 faceCells_.transfer(dynFaceCells);
136 faceRestrictAddressing_.transfer(dynFaceRestrictAddressing);
140 Foam::processorGAMGInterface::processorGAMGInterface
146 const label coarseComm,
147 const label myProcNo,
148 const label neighbProcNo,
158 faceRestrictAddresssing
162 neighbProcNo_(neighbProcNo),
168 Foam::processorGAMGInterface::processorGAMGInterface
201 send(commsType, interfaceInternalField(iF)());
#define forAll(list, i)
Loop across all elements in list.
virtual ~processorGAMGInterface()
Destructor.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
commsTypes
Types of communications.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void size(const label)
Override size to be inconsistent with allocated storage.
virtual void write(Ostream &) const
Write to stream.
Macros for easy insertion into run-time selection tables.
iterator find(const Key &)
Find and return an iterator set at the hashedEntry.
An ordered pair of two objects of type <T> with first() and second() elements.
Pair< label > labelPair
Label pair.
An STL-conforming hash table.
static label warnComm
Debugging: warn for use of any communicator differing from warnComm.
label readLabel(Istream &is)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
Abstract base class for GAMG agglomerated interfaces.
virtual void write(Ostream &) const =0
Write to stream.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches...
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
A class for managing temporary objects.
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Initialise neighbour field transfer.