42 cyclicAMIGAMGInterface,
50 Foam::cyclicAMIGAMGInterface::cyclicAMIGAMGInterface
57 const label fineLevelIndex,
58 const label coarseComm
66 fineCyclicAMIInterface_
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 (fineCyclicAMIInterface_.
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 fineCyclicAMIInterface_.
AMI(),
153 nbrFaceRestrictAddressing
183 pnf[facei] = iF[nbrFaceCells[facei]];
Field< label > labelField
Specialisation of Field<T> for label.
void size(const label n)
Older name for setAddressableSize.
GAMG agglomerated cyclic AMI interface.
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.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Transfer and return internal field adjacent to the interface.
void append(const T &val)
Append an element at the end of the list.
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.
An abstract base class for cyclic AMI coupled interfaces.
const_iterator cfind(const Key &key) const
Find and return an const_iterator set at the hashed entry.
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.
List< label > labelList
A List of labels.
A class for managing temporary objects.
virtual ~cyclicAMIGAMGInterface()
Destructor.