40 correctedCellVolumeWeightMethod,
62 label srcCellI = srcSeedI;
63 label tgtCellI = tgtSeedI;
81 seedCells[srcCellI] = tgtCellI;
90 visitedTgtCells.
clear();
93 nbrTgtCells.
append(tgtCellI);
94 appendNbrCells(tgtCellI, tgt_, visitedTgtCells, nbrTgtCells);
98 tgtCellI = nbrTgtCells.remove();
99 visitedTgtCells.
append(tgtCellI);
108 if (vol.
first()/srcVol[srcCellI] > tolerance_)
111 srcToTgtAddr[srcCellI].
append(tgtCellI);
113 srcToTgtVec[srcCellI].
append(vol.
second()-tgtCc[tgtCellI]);
115 tgtToSrcAddr[tgtCellI].
append(srcCellI);
117 tgtToSrcVec[tgtCellI].
append(vol.
second()-srcCc[srcCellI]);
119 appendNbrCells(tgtCellI, tgt_, visitedTgtCells, nbrTgtCells);
125 while (!nbrTgtCells.empty());
127 mapFlag[srcCellI] =
false;
141 while (srcCellI != -1);
144 forAll(srcToTgtCellAddr, i)
146 srcToTgtCellAddr[i].
transfer(srcToTgtAddr[i]);
147 srcToTgtCellWght[i].
transfer(srcToTgtWght[i]);
148 srcToTgtCellVec[i].
transfer(srcToTgtVec[i]);
151 forAll(tgtToSrcCellAddr, i)
153 tgtToSrcCellAddr[i].
transfer(tgtToSrcAddr[i]);
154 tgtToSrcCellWght[i].
transfer(tgtToSrcWght[i]);
155 tgtToSrcCellVec[i].
transfer(tgtToSrcVec[i]);
163 forAll(srcToTgtCellAddr, cellI)
165 scalar srcVol = src_.cellVolumes()[cellI];
166 scalar tgtVol =
sum(srcToTgtCellWght[cellI]);
168 if (
mag(srcVol) > ROOTVSMALL &&
mag((tgtVol-srcVol)/srcVol) > 1
e-6)
171 <<
"At cell " << cellI <<
" cc:"
172 << src_.cellCentres()[cellI]
174 <<
" total overlap volume:" << tgtVol
179 forAll(tgtToSrcCellAddr, cellI)
181 scalar tgtVol = tgt_.cellVolumes()[cellI];
182 scalar srcVol =
sum(tgtToSrcCellWght[cellI]);
184 if (
mag(tgtVol) > ROOTVSMALL &&
mag((srcVol-tgtVol)/tgtVol) > 1
e-6)
187 <<
"At cell " << cellI <<
" cc:"
188 << tgt_.cellCentres()[cellI]
190 <<
" total overlap volume:" << srcVol
242 srcToTgtVec.
setSize(srcToTgtAddr.size());
243 tgtToSrcVec.
setSize(tgtToSrcAddr.size());
250 boolList mapFlag(src_.nCells(),
false);
256 label startSeedI = 0;