62 const scalar cutValue,
70 const cell&
c = mesh_.cells()[celli];
72 vector base = mesh_.C()[cellI_] + normal_ * cutValue_;
73 bool fullyBelow =
true;
74 bool fullyAbove =
true;
76 label nFaceBelowInterface = 0;
79 for (
const label faceI :
c)
81 const label faceStatus = cutFace_.calcSubFace(faceI, normal_, base);
85 cutFaceCentres_.append(cutFace_.subFaceCentre());
86 cutFaceAreas_.append(cutFace_.subFaceArea());
87 plicFaceEdges_.append(cutFace_.surfacePoints());
91 else if (faceStatus == -1)
93 cutFaceCentres_.append(cutFace_.subFaceCentre());
94 cutFaceAreas_.append(cutFace_.subFaceArea());
96 nFaceBelowInterface++;
104 if (!fullyBelow && !fullyAbove)
120 if (
mag(faceArea_) < 10*SMALL)
122 if (nFaceBelowInterface == 0)
126 subCellCentre_ =
Zero;
135 subCellCentre_ = mesh_.C()[cellI_];
136 subCellVolume_ = mesh_.V()[cellI_];
142 cutFaceCentres_.append(faceCentre_);
143 cutFaceAreas_.append(faceArea_);
154 VOF_ = subCellVolume_ / mesh_.V()[cellI_];
159 subCellCentre_ =
Zero;
166 subCellCentre_ = mesh_.C()[cellI_];
167 subCellVolume_ = mesh_.V()[cellI_];
177 return subCellCentre_;
183 return subCellVolume_;
189 if (facePoints_.size() == 0)
192 calcIsoFacePointsFromEdges
239 cutFaceCentres_.clear();
240 cutFaceAreas_.clear();
241 plicFaceEdges_.clear();
245 subCellCentre_ =
Zero;
246 subCellVolume_ = -10;