77 const label fineLevelIndex,
78 const label coarseComm
84 refCast<const cyclicLduInterface>(fineInterface).nbrPatchID()
86 owner_(refCast<const cyclicLduInterface>(fineInterface).owner()),
87 transform_(refCast<const cyclicLduInterface>(fineInterface).
transform())
94 localRestrictAddressing.
size()
100 2*localRestrictAddressing.
size()
103 forAll(localRestrictAddressing, ffi)
114 localRestrictAddressing[ffi],
115 neighbourRestrictAddressing[ffi]
123 neighbourRestrictAddressing[ffi],
124 localRestrictAddressing[ffi]
129 cellsToCoarseFace.
find(cellPair);
131 if (fnd == cellsToCoarseFace.
end())
134 label coarseI = dynFaceCells.size();
135 dynFaceRestrictAddressing.append(coarseI);
136 dynFaceCells.append(localRestrictAddressing[ffi]);
137 cellsToCoarseFace.insert(cellPair, coarseI);
142 dynFaceRestrictAddressing.append(fnd());
146 faceCells_.transfer(dynFaceCells);
147 faceRestrictAddressing_.transfer(dynFaceRestrictAddressing);
187 pnf[facei] = iF[nbrFaceCells[facei]];
Field< label > labelField
Specialisation of Field<T> for label.
#define forAll(list, i)
Loop across all elements in list.
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.
T & ref() const
Return non-const reference or generate a fatal error.
virtual const labelUList & faceCells() const
Return faceCell addressing.
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 tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
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)
addNamedToRunTimeSelectionTable(GAMGProcAgglomeration, noneGAMGProcAgglomeration, GAMGAgglomeration, none)
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...
A class for managing temporary objects.
cyclicGAMGInterface(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 ~cyclicGAMGInterface()
Destructor.
virtual void write(Ostream &) const
Write to stream.
GAMG agglomerated cyclic interface.
dimensionSet transform(const dimensionSet &)