35 void Foam::faceMapper::calcAddressing()
const
40 || interpolationAddrPtr_
42 || insertedFaceLabelsPtr_
46 <<
"Addressing already calculated."
61 labelList& insertedFaces = *insertedFaceLabelsPtr_;
63 label nInsertedFaces = 0;
67 if (directAddr[facei] < 0)
70 directAddr[facei] = 0;
71 insertedFaces[nInsertedFaces] = facei;
76 insertedFaces.setSize(nInsertedFaces);
93 const labelList& mo = ffp[ffpI].masterObjects();
95 label facei = ffp[ffpI].index();
97 if (addr[facei].
size())
100 <<
"Master face " << facei
101 <<
" mapped from point faces " << mo
107 w[facei] =
scalarList(mo.size(), 1.0/mo.size());
115 const labelList& mo = ffe[ffeI].masterObjects();
117 label facei = ffe[ffeI].index();
119 if (addr[facei].
size())
122 <<
"Master face " << facei
123 <<
" mapped from edge faces " << mo
129 w[facei] =
scalarList(mo.size(), 1.0/mo.size());
137 const labelList& mo = fff[fffI].masterObjects();
139 label facei = fff[fffI].index();
141 if (addr[facei].
size())
144 <<
"Master face " << facei
145 <<
" mapped from face faces " << mo
151 w[facei] =
scalarList(mo.size(), 1.0/mo.size());
161 if (fm[facei] > -1 && addr[facei].empty())
173 labelList& insertedFaces = *insertedFaceLabelsPtr_;
175 label nInsertedFaces = 0;
179 if (addr[facei].empty())
185 insertedFaces[nInsertedFaces] = facei;
190 insertedFaces.setSize(nInsertedFaces);
195 void Foam::faceMapper::clearOut()
210 insertedFaces_(true),
212 directAddrPtr_(nullptr),
213 interpolationAddrPtr_(nullptr),
214 weightsPtr_(nullptr),
215 insertedFaceLabelsPtr_(nullptr)
235 insertedFaces_ =
false;
250 fm[ffp[ffpI].index()] = 0;
257 fm[ffe[ffeI].index()] = 0;
264 fm[fff[fffI].index()] = 0;
269 insertedFaces_ =
true;
287 return mesh_.nFaces();
293 return mpm_.nOldFaces();
299 return mpm_.nOldInternalFaces();
308 <<
"Requested direct addressing for an interpolative mapper."
312 if (!insertedObjects())
315 return mpm_.faceMap();
324 return *directAddrPtr_;
334 <<
"Requested interpolative addressing for a direct mapper."
338 if (!interpolationAddrPtr_)
343 return *interpolationAddrPtr_;
352 <<
"Requested interpolative weights for a direct mapper."
367 if (!insertedFaceLabelsPtr_)
369 if (!insertedObjects())
372 insertedFaceLabelsPtr_ =
new labelList(0);
380 return *insertedFaceLabelsPtr_;
386 return mpm_.flipFaceFlux();
392 return mpm_.nOldInternalFaces();
398 return mpm_.oldPatchStarts();
404 return mpm_.oldPatchSizes();