Go to the documentation of this file.
39 dict_.getOrDefault<
Switch>(
"controlMeshQuality", false)
41 collapseEdgesCoeffDict_(dict_.subDict(
"collapseEdgesCoeffs")),
42 collapseFacesCoeffDict_(dict_.subOrEmptyDict(
"collapseFacesCoeffs")),
43 meshQualityCoeffDict_(dict_.subOrEmptyDict(
"controlMeshQualityCoeffs")),
44 minLen_(collapseEdgesCoeffDict_.get<scalar>(
"minimumEdgeLength")),
51 collapseEdgesCoeffDict_.get<scalar>(
"maximumMergeAngle")
57 meshQualityCoeffDict_.getOrDefault<scalar>(
"edgeReductionFactor", -1)
61 meshQualityCoeffDict_.
getOrAdd<label>(
"maximumIterations", 1)
65 meshQualityCoeffDict_.
getOrAdd<label>(
"maximumSmoothingIterations", 0)
67 initialFaceLengthFactor_
69 collapseFacesCoeffDict_.
getOrAdd<scalar>(
"initialFaceLengthFactor", -1)
73 meshQualityCoeffDict_.
getOrAdd<scalar>(
"faceReductionFactor", -1)
77 meshQualityCoeffDict_.
getOrAdd<label>(
"maxPointErrorCount", 0)
86 os <<
"Merging:" <<
nl
87 <<
" edges with length less than " << minLen() <<
" metres" <<
nl
88 <<
" edges split by a point with edges in line to within "
90 <<
" Minimum edge length reduction factor = "
91 << edgeReductionFactor() <<
nl
94 if (collapseFacesCoeffDict().empty())
96 os <<
"Face collapsing is off" <<
endl;
100 os <<
"Face collapsing is on" <<
endl;
101 os <<
" Initial face length factor = "<< initialFaceLengthFactor()
105 os <<
"Control mesh quality = " << controlMeshQuality().c_str() <<
endl;
107 if (controlMeshQuality())
109 os <<
" Minimum edge length reduction factor = "
110 << edgeReductionFactor() <<
nl
111 <<
" Minimum face area reduction factor = "
112 << faceReductionFactor() <<
endl;
114 os <<
" Maximum number of collapse iterations = " << maxIterations()
117 os <<
" Maximum number of edge/face reduction factor smoothing "
118 <<
"iterations = " << maxSmoothIters() <<
endl;
120 os <<
" Maximum number of times a point can contribute to bad "
121 <<
"faces across " <<
nl
122 <<
" collapse iterations = " << maxPointErrorCount()
126 os <<
"Selectively disabling wanted collapses until resulting quality"
127 <<
" satisfies constraints in system/meshQualityDict" <<
nl
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
void writeSettings(Ostream &os) const
Write the settings to a stream.
polyMeshFilterSettings(const dictionary &dict)
Construct from dictionary.
Unit conversion functions.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static T getOrAdd(dictionary &dict, const char *name, const T deflt)
constexpr scalar radToDeg(const scalar rad) noexcept
Conversion from radians to degrees.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
constexpr scalar degToRad(const scalar deg) noexcept
Conversion from degrees to radians.
dimensionedScalar acos(const dimensionedScalar &ds)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
dimensionedScalar cos(const dimensionedScalar &ds)