Go to the documentation of this file.
60 const face&
f = mesh_.faces()[faceI];
62 label firstFullySubmergedPoint = -1;
68 pointStatus_.append(f_[
f[i]] - cutValue);
69 if (
mag(pointStatus_[i]) < 10 * SMALL)
73 if (pointStatus_[i] > 10 * SMALL)
76 if (firstFullySubmergedPoint == -1)
78 firstFullySubmergedPoint = i;
83 if (inLiquid ==
f.size())
86 subFaceCentre_ = mesh_.faceCentres()[faceI];
87 subFaceArea_ = mesh_.faceAreas()[faceI];
90 else if (inLiquid == 0)
93 subFaceCentre_ =
Zero;
102 firstFullySubmergedPoint,
116 subFaceCentre_ =
Zero;
118 subFacePoints_.clear();
119 surfacePoints_.clear();
120 pointStatus_.clear();
static constexpr const zero Zero
Global zero (0)
void clearStorage()
Resets internal variables.
#define forAll(list, i)
Loop across all elements in list.
label calcSubFace(const label faceI, const scalar cutValue)
Calculate cut points along edges of faceI.
Mesh data needed to do the Finite Volume discretisation.
Base class for cutting a face, faceI, of an fvMesh, mesh_, at its intersections.
void calcSubFace(const label faceI, const scalarList &pointStatus, label firstFullySubmergedPoint, DynamicList< point > &subFacePoints, DynamicList< point > &surfacePoints, label &faceStatus, vector &subFaceCentre, vector &subFaceArea)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
cutFaceIso(const fvMesh &mesh, scalarField &f)
Construct from fvMesh and a scalarField.
A face is a list of labels corresponding to mesh vertices.