39 cyclicACMIGAMGInterface,
47 Foam::cyclicACMIGAMGInterface::cyclicACMIGAMGInterface
54 const label fineLevelIndex,
55 const label coarseComm
63 fineCyclicACMIInterface_
65 refCast<const cyclicACMILduInterface>(fineInterface)
76 localRestrictAddressing.
size()
81 forAll(localRestrictAddressing, ffi)
83 label curMaster = localRestrictAddressing[ffi];
90 if (fnd == masterToCoarseFace.
end())
93 label coarseI = dynFaceCells.size();
94 dynFaceRestrictAddressing.append(coarseI);
95 dynFaceCells.append(curMaster);
96 masterToCoarseFace.insert(curMaster, coarseI);
101 dynFaceRestrictAddressing.append(fnd());
105 faceCells_.transfer(dynFaceCells);
106 faceRestrictAddressing_.transfer(dynFaceRestrictAddressing);
112 if (fineCyclicACMIInterface_.owner())
123 neighbourRestrictAddressing.
size()
126 Map<label> masterToCoarseFace(neighbourRestrictAddressing.
size());
128 forAll(neighbourRestrictAddressing, ffi)
130 label curMaster = neighbourRestrictAddressing[ffi];
137 if (fnd == masterToCoarseFace.
end())
140 label coarseI = masterToCoarseFace.size();
141 dynNbrFaceRestrictAddressing.append(coarseI);
142 masterToCoarseFace.insert(curMaster, coarseI);
147 dynNbrFaceRestrictAddressing.append(fnd());
151 nbrFaceRestrictAddressing.
transfer(dynNbrFaceRestrictAddressing);
158 fineCyclicACMIInterface_.AMI(),
159 faceRestrictAddressing_,
160 nbrFaceRestrictAddressing
191 pnf[facei] = iF[nbrFaceCells[facei]];
GAMG agglomerated cyclic ACMI interface.
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
virtual ~cyclicACMIGAMGInterface()
Destructor.
commsTypes
Types of communications.
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.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
Abstract base class for GAMG agglomerated interfaces.
label size() const
Return the number of elements in the UList.
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches...
A class for managing temporary objects.
virtual const labelUList & faceCells() const
Return faceCell addressing.
T & ref() const
Return non-const reference or generate a fatal error.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.