40 scalar smoothDelta::deltaData::maxDeltaRatio = 1.2;
56 void smoothDelta::setChangedFaces
60 DynamicList<label>& changedFaces,
61 DynamicList<deltaData>& changedFacesInfo
64 for (label faceI = 0; faceI < mesh.nInternalFaces(); faceI++)
66 scalar ownDelta = delta[mesh.faceOwner()[faceI]];
68 scalar neiDelta = delta[mesh.faceNeighbour()[faceI]];
72 if (ownDelta > deltaData::maxDeltaRatio * neiDelta)
74 changedFaces.append(faceI);
75 changedFacesInfo.append(deltaData(ownDelta));
77 else if (neiDelta > deltaData::maxDeltaRatio * ownDelta)
79 changedFaces.append(faceI);
80 changedFacesInfo.append(deltaData(neiDelta));
86 forAll(mesh.boundaryMesh(), patchI)
88 const polyPatch& patch = mesh.boundaryMesh()[patchI];
94 label meshFaceI = patch.start() + patchFaceI;
96 scalar ownDelta = delta[mesh.faceOwner()[meshFaceI]];
98 changedFaces.append(meshFaceI);
99 changedFacesInfo.append(deltaData(ownDelta));
104 changedFaces.shrink();
105 changedFacesInfo.shrink();
109 void smoothDelta::calcDelta()
111 deltaData::maxDeltaRatio = maxDeltaRatio_;
115 DynamicList<label> changedFaces(
mesh_.
nFaces()/100 + 100);
116 DynamicList<deltaData> changedFacesInfo(changedFaces.size());
118 setChangedFaces(
mesh_, geometricDelta, changedFaces, changedFacesInfo);
123 forAll(geometricDelta, cellI)
125 cellDeltaData[cellI] = geometricDelta[cellI];
133 FaceCellWave<deltaData> deltaCalc
145 delta_[cellI] = cellDeltaData[cellI].delta();
152 smoothDelta::smoothDelta
179 geometricDelta_().read(dd);
180 dd.
lookup(
"maxDeltaRatio") >> maxDeltaRatio_;
187 geometricDelta_().correct();