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();
void append(const T &val)
Copy append an element to the end of this list.
cutFaceIso(const fvMesh &mesh, scalarField &f)
Construct from fvMesh and a scalarField.
label calcSubFace(const label faceI, const scalar cutValue)
Calculate cut points along edges of faceI.
void clearStorage()
Resets internal variables.
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...
cutFace(const fvMesh &mesh)
Construct from fvMesh.
A face is a list of labels corresponding to mesh vertices.
Mesh data needed to do the Finite Volume discretisation.
virtual const faceList & faces() const
Return raw faces.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static constexpr const zero Zero
Global zero (0).
#define forAll(list, i)
Loop across all elements in list.