39 processorGAMGInterface,
45 processorGAMGInterface,
60 const label fineLevelIndex,
61 const label coarseComm
70 myProcNo_(refCast<const processorLduInterface>(fineInterface).myProcNo()),
73 refCast<const processorLduInterface>(fineInterface).neighbProcNo()
77 refCast<const processorLduInterface>(fineInterface).
transform()
79 tag_(refCast<const processorLduInterface>(fineInterface).tag())
86 localRestrictAddressing.
size()
92 2*localRestrictAddressing.
size()
95 forAll(localRestrictAddressing, ffi)
101 if (myProcNo() < neighbProcNo())
106 localRestrictAddressing[ffi],
107 neighbourRestrictAddressing[ffi]
115 neighbourRestrictAddressing[ffi],
116 localRestrictAddressing[ffi]
121 cellsToCoarseFace.
find(cellPair);
123 if (fnd == cellsToCoarseFace.
end())
126 label coarseI = dynFaceCells.size();
127 dynFaceRestrictAddressing.append(coarseI);
128 dynFaceCells.append(localRestrictAddressing[ffi]);
129 cellsToCoarseFace.insert(cellPair, coarseI);
134 dynFaceRestrictAddressing.append(fnd());
138 faceCells_.transfer(dynFaceCells);
139 faceRestrictAddressing_.transfer(dynFaceRestrictAddressing);
149 const label coarseComm,
150 const label myProcNo,
151 const label neighbProcNo,
161 faceRestrictAddressing
165 neighbProcNo_(neighbProcNo),
166 transform_(transform),
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.
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,.
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.
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.
dimensionSet transform(const dimensionSet &)