37 processorGAMGInterface,
45 Foam::processorGAMGInterface::processorGAMGInterface
55 localRestrictAddressing,
56 neighbourRestrictAddressing
58 fineProcInterface_(refCast<const processorLduInterface>(fineInterface))
63 localRestrictAddressing.
size()
69 localRestrictAddressing.
size()
72 label nCoarseFaces = 0;
74 forAll (localRestrictAddressing, ffi)
81 if (myProcNo() < neighbProcNo())
84 curMaster = localRestrictAddressing[ffi];
85 curSlave = neighbourRestrictAddressing[ffi];
90 curMaster = neighbourRestrictAddressing[ffi];
91 curSlave = localRestrictAddressing[ffi];
96 if (neighboursTable.found(curMaster))
104 faceFaceTable.find(curMaster)();
106 bool nbrFound =
false;
111 curFaceFaces.
begin();
116 nbrsIter != curNbrs.
end(), faceFacesIter != curFaceFaces.
end();
117 ++nbrsIter, ++faceFacesIter
120 if (nbrsIter() == curSlave)
123 faceFacesIter().
append(ffi);
151 faceCells_.setSize(nCoarseFaces, -1);
152 faceRestrictAddressing_.setSize(localRestrictAddressing.
size());
154 labelList contents = neighboursTable.toc();
159 if (myProcNo() < neighbProcNo())
162 forAll (contents, masterI)
164 SLList<label>& curNbrs = neighboursTable.find(contents[masterI])();
167 faceFaceTable.find(contents[masterI])();
172 curFaceFaces.
begin();
177 nbrsIter != curNbrs.
end(), faceFacesIter != curFaceFaces.
end();
178 ++nbrsIter, ++faceFacesIter
181 faceCells_[nCoarseFaces] = contents[masterI];
186 facesIter != faceFacesIter().
end();
190 faceRestrictAddressing_[facesIter()] = nCoarseFaces;
200 forAll (contents, masterI)
202 SLList<label>& curNbrs = neighboursTable.find(contents[masterI])();
205 faceFaceTable.find(contents[masterI])();
210 curFaceFaces.
begin();
215 nbrsIter != curNbrs.
end(), faceFacesIter != curFaceFaces.
end();
216 ++nbrsIter, ++faceFacesIter
219 faceCells_[nCoarseFaces] = nbrsIter();
224 facesIter != faceFacesIter().
end();
228 faceRestrictAddressing_[facesIter()] = nCoarseFaces;
252 send(commsType, interfaceData);
262 return receive<label>(commsType, this->size());
272 send(commsType, interfaceInternalField(iF)());
282 return receive<label>(commsType, this->size());