Go to the documentation of this file.
26 #include "primitiveMesh.H"
33 const scalar reportLenSqr,
40 scalar minLenSqr =
sqr(GREAT);
41 scalar maxLenSqr = -
sqr(GREAT);
47 const face&
f =
faces[faceI];
55 if (magSqrE < reportLenSqr)
57 smallEdgeSet.insert(
f[fp]);
58 smallEdgeSet.insert(
f[fp1]);
61 minLenSqr =
min(minLenSqr, magSqrE);
62 maxLenSqr =
max(maxLenSqr, magSqrE);
66 reduce(minLenSqr, minOp<scalar>());
67 reduce(maxLenSqr, maxOp<scalar>());
69 label nSmall = smallEdgeSet.size();
70 reduce(nSmall, sumOp<label>());
74 setPtr->transfer(smallEdgeSet);
81 Info<<
" *Edges too small, min/max edge length = "
82 <<
sqrt(minLenSqr) <<
" " <<
sqrt(maxLenSqr)
83 <<
", number too small: " << nSmall <<
endl;
92 Info<<
" Min/max edge length = "
93 <<
sqrt(minLenSqr) <<
" " <<
sqrt(maxLenSqr)
vectorField pointField
pointField is a vectorField.
virtual const pointField & points() const =0
Return mesh points.
#define forAll(list, i)
Loop across all elements in list.
virtual const faceList & faces() const =0
Return faces.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
bool checkEdgeLength(const bool report, const scalar minLenSqr, labelHashSet *setPtr=NULL) const
Check edge length.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
HashSet< label, Hash< label > > labelHashSet
A HashSet with label keys.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
dimensioned< scalar > magSqr(const dimensioned< Type > &)