42 cyclicACMIGAMGInterface,
50 Foam::cyclicACMIGAMGInterface::cyclicACMIGAMGInterface
57 const label fineLevelIndex,
58 const label coarseComm
66 fineCyclicACMIInterface_
79 localRestrictAddressing.
size()
84 for (
const label curMaster : localRestrictAddressing)
86 const auto iter = masterToCoarseFace.
cfind(curMaster);
91 dynFaceRestrictAddressing.append(iter.val());
96 const label coarseI = dynFaceCells.size();
97 dynFaceRestrictAddressing.append(coarseI);
98 dynFaceCells.append(curMaster);
99 masterToCoarseFace.insert(curMaster, coarseI);
110 if (fineCyclicACMIInterface_.
owner())
119 DynamicList<label> dynNbrFaceRestrictAddressing
121 neighbourRestrictAddressing.
size()
124 Map<label> masterToCoarseFace(neighbourRestrictAddressing.
size());
126 for (
const label curMaster : neighbourRestrictAddressing)
128 const auto iter = masterToCoarseFace.cfind(curMaster);
133 dynNbrFaceRestrictAddressing.
append(iter.val());
138 const label coarseI = masterToCoarseFace.size();
139 dynNbrFaceRestrictAddressing.append(coarseI);
140 masterToCoarseFace.insert(curMaster, coarseI);
144 nbrFaceRestrictAddressing.transfer(dynNbrFaceRestrictAddressing);
151 fineCyclicACMIInterface_.
AMI(),
153 nbrFaceRestrictAddressing
184 pnf[facei] = iF[nbrFaceCells[facei]];
GAMG agglomerated cyclic ACMI interface.
void size(const label n)
Older name for setAddressableSize.
virtual const AMIPatchToPatchInterpolation & AMI() const =0
commsTypes
Communications types.
void transfer(List< T > &list)
Transfer the contents of the argument List into this list and annul the argument list.
void append(const T &val)
Append an element at the end of the list.
virtual ~cyclicACMIGAMGInterface()
Destructor.
virtual const labelUList & faceCells() const
Return faceCell addressing.
Type & refCast(U &obj)
A dynamic_cast (for references). Generates a FatalError on failed casts and uses the virtual type() m...
labelList faceRestrictAddressing_
Face restrict addressing.
AMIInterpolation AMIPatchToPatchInterpolation
Macros for easy insertion into run-time selection tables.
virtual bool owner() const =0
#define forAll(list, i)
Loop across all elements in list.
const_iterator cfind(const Key &key) const
Find and return an const_iterator set at the hashed entry.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
An abstract base class for cyclic ACMI coupled interfaces.
defineTypeNameAndDebug(combustionModel, 0)
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
Abstract base class for GAMG agglomerated interfaces.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches...
labelList faceCells_
Face-cell addressing.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
List< label > labelList
A List of labels.
A class for managing temporary objects.