31 Foam::cvControls::cvControls
33 const dictionary& foamyHexMeshDict
36 foamyHexMeshDict_(foamyHexMeshDict)
40 const dictionary& surfDict
42 foamyHexMeshDict_.subDict(
"surfaceConformation")
47 surfDict.lookup(
"pointPairDistanceCoeff")
52 surfDict.lookup(
"mixedFeaturePointPPDistanceCoeff")
55 featurePointExclusionDistanceCoeff_ =
readScalar 57 surfDict.lookup(
"featurePointExclusionDistanceCoeff")
60 featureEdgeExclusionDistanceCoeff_ =
readScalar 62 surfDict.lookup(
"featureEdgeExclusionDistanceCoeff")
68 surfDict.lookup(
"surfaceSearchDistanceCoeff")
73 surfDict.lookup(
"maxSurfaceProtrusionCoeff")
76 maxQuadAngle_ =
readScalar(surfDict.lookup(
"maxQuadAngle"));
78 surfaceConformationRebuildFrequency_ =
max 81 readLabel(surfDict.lookup(
"surfaceConformationRebuildFrequency"))
85 const dictionary& featurePointControlsDict
87 surfDict.subDict(
"featurePointControls")
90 specialiseFeaturePoints_ = Switch
92 featurePointControlsDict.lookup(
"specialiseFeaturePoints")
95 guardFeaturePoints_ = Switch
97 featurePointControlsDict.lookup(
"guardFeaturePoints")
102 featurePointControlsDict.lookup(
"edgeAiming")
105 if (!guardFeaturePoints_)
107 snapFeaturePoints_ = Switch
109 featurePointControlsDict.lookup(
"snapFeaturePoints")
113 circulateEdges_ = Switch
115 featurePointControlsDict.lookup(
"circulateEdges")
120 const dictionary& conformationControlsDict
122 surfDict.subDict(
"conformationControls")
127 conformationControlsDict.lookup(
"surfacePtExclusionDistanceCoeff")
130 edgeSearchDistCoeffSqr_ =
sqr 134 conformationControlsDict.lookup(
"edgeSearchDistCoeff")
138 surfacePtReplaceDistCoeffSqr_ =
sqr 142 conformationControlsDict.lookup(
"surfacePtReplaceDistCoeff")
148 conformationControlsDict.lookup(
"maxIterations")
153 conformationControlsDict.lookup(
"iterationToInitialHitRatioLimit")
159 const dictionary& motionDict(foamyHexMeshDict_.subDict(
"motionControl"));
161 defaultCellSize_ =
readScalar(motionDict.lookup(
"defaultCellSize"));
164 readScalar(motionDict.lookup(
"minimumCellSizeCoeff"))*defaultCellSize_;
166 objOutput_ = Switch(motionDict.lookupOrDefault<Switch>(
"objOutput",
false));
170 motionDict.lookupOrDefault<Switch>(
"timeChecks",
false)
173 printVertexInfo_ = Switch
175 motionDict.lookupOrDefault<Switch>(
"printVertexInfo",
false)
180 maxLoadUnbalance_ =
readScalar(motionDict.lookup(
"maxLoadUnbalance"));
184 maxLoadUnbalance_ = -1;
187 cosAlignmentAcceptanceAngle_ =
cos 195 const dictionary& insertionDict
197 motionDict.subDict(
"pointInsertionCriteria")
202 insertionDict.lookup(
"cellCentreDistCoeff")
207 insertionDict.lookup(
"faceAreaRatioCoeff")
210 cosInsertionAcceptanceAngle_ =
cos 217 const dictionary& removalDict
219 motionDict.subDict(
"pointRemovalCriteria")
224 removalDict.lookup(
"cellCentreDistCoeff")
229 const dictionary& filteringDict
231 foamyHexMeshDict_.subDict(
"polyMeshFiltering")
234 filterEdges_ = Switch
236 filteringDict.lookupOrDefault<Switch>(
"filterEdges",
true)
239 filterFaces_ = Switch
241 filteringDict.lookupOrDefault<Switch>(
"filterFaces",
false)
249 writeTetDualMesh_ = Switch(filteringDict.lookup(
"writeTetDualMesh"));
251 writeCellShapeControlMesh_ =
252 Switch(filteringDict.lookup(
"writeCellShapeControlMesh"));
256 writeBackgroundMeshDecomposition_ =
257 Switch(filteringDict.lookup(
"writeBackgroundMeshDecomposition"));
261 writeBackgroundMeshDecomposition_ = Switch(
false);
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
scalar degToRad(const scalar deg)
Conversion from degrees to radians.
dimensionedScalar cos(const dimensionedScalar &ds)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
label readLabel(Istream &is)
static bool & parRun()
Is this a parallel run?