35 void Foam::fvPatchMapper::calcAddressing()
const
40 || interpolationAddrPtr_
46 "void fvPatchMapper::calcAddressing() const)"
47 ) <<
"Addressing already calculated"
52 const label oldPatchStart =
55 const label oldPatchEnd =
77 addr[faceI] >= oldPatchStart
78 && addr[faceI] < oldPatchEnd
81 addr[faceI] -= oldPatchStart;
95 "void fvPatchMapper::calcAddressing() const"
96 ) <<
"Error in patch mapping for patch "
97 << patch_.
index() <<
" named " << patch_.
name()
105 interpolationAddrPtr_ =
128 min(curAddr) >= oldPatchStart
129 &&
max(curAddr) < oldPatchEnd
135 curAddr[i] -= oldPatchStart;
141 labelList newAddr(curAddr.size(),
false);
149 curAddr[lfI] >= oldPatchStart
150 && curAddr[lfI] < oldPatchEnd
153 newAddr[nActive] = curAddr[lfI] - oldPatchStart;
154 newWeights[nActive] = curW[lfI];
162 newAddr[nActive] = 0;
163 newWeights[nActive] = 1;
167 newAddr.setSize(nActive);
168 newWeights.setSize(nActive);
171 newWeights /=
sum(newWeights);
183 if (
min(addr[i]) < 0)
187 "void fvPatchMapper::calcAddressing() const"
188 ) <<
"Error in patch mapping for patch "
189 << patch_.
index() <<
" named " << patch_.
name()
198 void Foam::fvPatchMapper::clearOut()
209 Foam::fvPatchMapper::fvPatchMapper
218 directAddrPtr_(NULL),
219 interpolationAddrPtr_(NULL),
240 "const unallocLabelList& fvPatchMapper::directAddressing() const"
241 ) <<
"Requested direct addressing for an interpolative mapper."
250 return *directAddrPtr_;
260 "const labelListList& fvPatchMapper::addressing() const"
261 ) <<
"Requested interpolative addressing for a direct mapper."
265 if (!interpolationAddrPtr_)
270 return *interpolationAddrPtr_;
280 "const scalarListList& fvPatchMapper::weights() const"
281 ) <<
"Requested interpolative weights for a direct mapper."