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 return subFaceCentre_;
128 return subFacePoints_;
134 return surfacePoints_;
140 subFaceCentre_ =
Zero;
142 subFacePoints_.clear();
143 surfacePoints_.clear();
144 pointStatus_.clear();
static constexpr const zero Zero
Global zero (0)
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
const DynamicList< point > & surfacePoints() const
Returns point of the face in sorted of cutted face.
void clearStorage()
Resets internal variables.
const vector & subFaceArea() const
Returns area vector of cutted face.
#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.
const point & subFaceCentre() const
Returns centre of cutted face.
const DynamicList< point > & subFacePoints() const
Returns the cut edge of the cutted face.