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())
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]];
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
void append(const T &val)
Copy append an element to the end of this list.
Abstract base class for GAMG agglomerated interfaces.
labelList faceRestrictAddressing_
Face restrict addressing.
virtual const labelUList & faceCells() const
Return faceCell addressing.
labelList faceCells_
Face-cell addressing.
const_iterator cfind(const Key &key) const
Find and return an const_iterator set at the hashed entry.
bool insert(const Key &key, const T &obj)
Copy insert a new entry, not overwriting existing entries.
label size() const noexcept
The number of elements in table.
void transfer(List< T > &list)
A HashTable to objects of type <T> with a label key.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
void size(const label n)
Older name for setAddressableSize.
commsTypes
Types of communications.
GAMG agglomerated cyclic ACMI interface.
virtual ~cyclicACMIGAMGInterface()
Destructor.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
An abstract base class for cyclic ACMI coupled interfaces.
virtual const AMIPatchToPatchInterpolation & AMI() const =0
virtual bool owner() const =0
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
A class for managing temporary objects.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
To & refCast(From &r)
Reference type cast template function.
#define forAll(list, i)
Loop across all elements in list.