61 const face&
f = mesh_.faces()[faceI];
63 label firstFullySubmergedPoint = -1;
69 scalar value = (mesh_.points()[
f[i]] - base) & normal;
70 if (
mag(value) < SMALL)
75 pointStatus_.append(value);
76 if (pointStatus_[i] > 0)
79 if (firstFullySubmergedPoint == -1)
81 firstFullySubmergedPoint = i;
86 if (inLiquid ==
f.
size())
89 subFaceCentre_ = mesh_.faceCentres()[faceI];
90 subFaceArea_ = mesh_.faceAreas()[faceI];
93 else if (inLiquid == 0)
96 subFaceCentre_ =
Zero;
106 firstFullySubmergedPoint,
120 subFaceCentre_ =
Zero;
122 subFacePoints_.clear();
123 surfacePoints_.clear();
124 pointStatus_.clear();
void size(const label n)
Older name for setAddressableSize.
A face is a list of labels corresponding to mesh vertices.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void clearStorage()
Resets internal variables.
#define forAll(list, i)
Loop across all elements in list.
Base class for cutting a face, faceI, of an fvMesh, mesh_, at its intersections.
label calcSubFace(const label faceI, const vector &normal, const vector &base)
Calculate cut points along edges of faceI.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Mesh data needed to do the Finite Volume discretisation.
cutFacePLIC(const fvMesh &mesh)
Construct from fvMesh and a scalarField.
void calcSubFace(const label faceI, const scalarList &pointStatus, label firstFullySubmergedPoint, DynamicList< point > &subFacePoints, DynamicList< point > &surfacePoints, label &faceStatus, vector &subFaceCentre, vector &subFaceArea)
Calculate cut points along edges of face with pointStatus, pointfield and computes geometric informat...
static constexpr const zero Zero
Global zero (0)