40 namespace faceSelections
46 searchableSurfaceSelection,
59 const dictionary&
dict
65 searchableSurface::
New
70 dict.getOrDefault(
"name",
mesh.objectRegistry::db().
name()),
73 mesh.objectRegistry::db(),
104 for (label facei = 0; facei < mesh_.nInternalFaces(); facei++)
106 start[facei] = mesh_.cellCentres()[mesh_.faceOwner()[facei]];
107 end[facei] = mesh_.cellCentres()[mesh_.faceNeighbour()[facei]];
119 const polyBoundaryMesh& pbm = mesh_.boundaryMesh();
123 const polyPatch& pp = pbm[patchi];
129 label facei = pp.start()+i;
130 start[facei] = mesh_.cellCentres()[mesh_.faceOwner()[facei]];
131 end[facei] = neighbourCellCentres[facei-mesh_.nInternalFaces()];
138 label facei = pp.start()+i;
139 start[facei] = mesh_.cellCentres()[mesh_.faceOwner()[facei]];
140 end[facei] = mesh_.faceCentres()[facei];
145 List<pointIndexHit> hits;
146 surfacePtr_().findLine(start,
end, hits);
148 surfacePtr_().getNormal(hits, normals);
152 for (label facei = 0; facei < mesh_.nInternalFaces(); facei++)
154 if (hits[facei].hit())
156 faceToZoneID[facei] =
zoneID;
158 faceToFlip[facei] = ((normals[facei] & d) < 0);
163 const polyPatch& pp = pbm[patchi];
169 label facei = pp.start()+i;
170 if (hits[facei].hit())
172 faceToZoneID[facei] =
zoneID;
174 faceToFlip[facei] = ((normals[facei] & d) < 0);