31 template<
class TransferType>
41 label nChangedFaces = 0;
45 if (patchIDs.
found(patchI))
49 const Field<Type>& patchField = initialPatchValuePtrs_[patchI];
55 changedFaces[nChangedFaces] = meshFaceI;
57 faceDist[nChangedFaces] =
61 patchField[patchFaceI],
73 template<
class TransferType>
91 const TransferType & wpn =
cellInfo[cellI];
93 scalar dist = wpn.distSqr();
99 cellData_[cellI] =
cellInfo[cellI].data();
106 distance_[cellI] =
mag(dist);
109 cellData_[cellI] =
cellInfo[cellI].data();
116 forAll(patchDistance_, patchI)
123 patchDistance_.set(patchI, patchFieldPtr);
130 patchData_.set(patchI, patchDataFieldPtr);
135 forAll(patchField, patchFaceI)
139 scalar dist = faceInfo[meshFaceI].distSqr();
141 if (faceInfo[meshFaceI].valid(waveInfo.
data()))
145 patchField[patchFaceI] =
Foam::sqrt(dist) + SMALL;
147 patchDataField[patchFaceI] = faceInfo[meshFaceI].data();
153 patchField[patchFaceI] =
mag(dist);
156 patchDataField[patchFaceI] = faceInfo[meshFaceI].data();
170 template<
class TransferType>
176 const bool correctWalls
181 initialPatchValuePtrs_(initialPatchValuePtrs),
182 correctWalls_(correctWalls),
184 distance_(
mesh.nCells()),
185 patchDistance_(
mesh.boundaryMesh().size()),
186 cellData_(
mesh.nCells()),
187 patchData_(
mesh.boundaryMesh().size())
195 template<
class TransferType>
203 template<
class TransferType>
212 label nWalls = sumPatchSize(patchIDs_);
217 setChangedFaces(patchIDs_, changedFaces, faceDist);
228 mesh().globalData().nTotalCells()+1
236 nUnset_ = getValues(waveInfo);
247 correctBoundaryFaceCells
254 correctBoundaryPointCells
264 const labelList wallCells(nearestFace.toc());
266 forAll(wallCells, wallCellI)
268 label cellI = wallCells[wallCellI];
270 label faceI = nearestFace[cellI];
272 cellData_[cellI] = faceInfo[faceI].data();