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.
T & ref() const
Return non-const reference or generate a fatal error.
virtual const labelUList & faceCells() const
Return faceCell addressing.
void size(const label)
Override size to be inconsistent with allocated storage.
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.
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...
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.
label size() const
Return the number of elements in the UList.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.