39 cyclicAMIGAMGInterface,
47 Foam::cyclicAMIGAMGInterface::cyclicAMIGAMGInterface
54 const label fineLevelIndex,
55 const label coarseComm
63 fineCyclicAMIInterface_
65 refCast<const cyclicAMILduInterface>(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 (fineCyclicAMIInterface_.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 fineCyclicAMIInterface_.AMI(),
159 faceRestrictAddressing_,
160 nbrFaceRestrictAddressing
190 pnf[facei] = iF[nbrFaceCells[facei]];
Field< label > labelField
Specialisation of Field<T> for label.
#define forAll(list, i)
Loop across all elements in list.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
GAMG agglomerated cyclic AMI interface.
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
commsTypes
Types of communications.
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.
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.
virtual ~cyclicAMIGAMGInterface()
Destructor.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.