33 const dictionary& foamyHexMeshDict
36 foamyHexMeshDict_(foamyHexMeshDict)
40 const dictionary& surfDict
42 foamyHexMeshDict_.subDict(
"surfaceConformation")
45 pointPairDistanceCoeff_ =
46 surfDict.lookup<scalar>(
"pointPairDistanceCoeff");
48 mixedFeaturePointPPDistanceCoeff_ =
49 surfDict.lookup<scalar>(
"mixedFeaturePointPPDistanceCoeff");
51 featurePointExclusionDistanceCoeff_ =
52 surfDict.lookup<scalar>(
"featurePointExclusionDistanceCoeff");
54 featureEdgeExclusionDistanceCoeff_ =
55 surfDict.lookup<scalar>(
"featureEdgeExclusionDistanceCoeff");
57 surfaceSearchDistanceCoeff_ =
58 surfDict.lookup<scalar>(
"surfaceSearchDistanceCoeff");
60 maxSurfaceProtrusionCoeff_ =
61 surfDict.lookup<scalar>(
"maxSurfaceProtrusionCoeff");
63 maxQuadAngle_ = surfDict.lookup<scalar>(
"maxQuadAngle");
65 surfaceConformationRebuildFrequency_ =
max 68 surfDict.lookup<
label>(
"surfaceConformationRebuildFrequency")
72 const dictionary& featurePointControlsDict
74 surfDict.subDict(
"featurePointControls")
77 specialiseFeaturePoints_ = Switch
79 featurePointControlsDict.lookup(
"specialiseFeaturePoints")
82 guardFeaturePoints_ = Switch
84 featurePointControlsDict.lookup(
"guardFeaturePoints")
89 featurePointControlsDict.lookup(
"edgeAiming")
92 if (!guardFeaturePoints_)
94 snapFeaturePoints_ = Switch
96 featurePointControlsDict.lookup(
"snapFeaturePoints")
100 circulateEdges_ = Switch
102 featurePointControlsDict.lookup(
"circulateEdges")
107 const dictionary& conformationControlsDict
109 surfDict.subDict(
"conformationControls")
112 surfacePtExclusionDistanceCoeff_ =
113 conformationControlsDict.lookup<scalar>
115 "surfacePtExclusionDistanceCoeff" 118 edgeSearchDistCoeffSqr_ =
sqr 120 conformationControlsDict.lookup<scalar>(
"edgeSearchDistCoeff")
123 surfacePtReplaceDistCoeffSqr_ =
sqr 125 conformationControlsDict.lookup<scalar>(
"surfacePtReplaceDistCoeff")
128 maxConformationIterations_ =
129 conformationControlsDict.lookup<
label>(
"maxIterations");
131 iterationToInitialHitRatioLimit_ =
132 conformationControlsDict.lookup<scalar>
134 "iterationToInitialHitRatioLimit" 140 const dictionary& motionDict(foamyHexMeshDict_.subDict(
"motionControl"));
142 defaultCellSize_ = motionDict.lookup<scalar>(
"defaultCellSize");
145 motionDict.lookup<scalar>(
"minimumCellSizeCoeff")*defaultCellSize_;
147 objOutput_ = Switch(motionDict.lookupOrDefault<Switch>(
"objOutput",
false));
151 motionDict.lookupOrDefault<Switch>(
"timeChecks",
false)
154 printVertexInfo_ = Switch
156 motionDict.lookupOrDefault<Switch>(
"printVertexInfo",
false)
161 maxLoadUnbalance_ = motionDict.lookup<scalar>(
"maxLoadUnbalance");
165 maxLoadUnbalance_ = -1;
168 cosAlignmentAcceptanceAngle_ =
cos 170 degToRad(motionDict.lookup<scalar>(
"alignmentAcceptanceAngle"))
176 const dictionary& insertionDict
178 motionDict.subDict(
"pointInsertionCriteria")
181 insertionDistCoeff_ =
182 insertionDict.lookup<scalar>(
"cellCentreDistCoeff");
184 faceAreaRatioCoeff_ =
185 insertionDict.lookup<scalar>(
"faceAreaRatioCoeff");
187 cosInsertionAcceptanceAngle_ =
cos 189 degToRad(insertionDict.lookup<scalar>(
"acceptanceAngle"))
194 const dictionary& removalDict
196 motionDict.subDict(
"pointRemovalCriteria")
200 removalDict.lookup<scalar>(
"cellCentreDistCoeff");
204 const dictionary& filteringDict
206 foamyHexMeshDict_.subDict(
"polyMeshFiltering")
209 filterEdges_ = Switch
211 filteringDict.lookupOrDefault<Switch>(
"filterEdges",
true)
214 filterFaces_ = Switch
216 filteringDict.lookupOrDefault<Switch>(
"filterFaces",
false)
224 writeTetDualMesh_ = Switch(filteringDict.lookup(
"writeTetDualMesh"));
226 writeCellShapeControlMesh_ =
227 Switch(filteringDict.lookup(
"writeCellShapeControlMesh"));
231 writeBackgroundMeshDecomposition_ =
232 Switch(filteringDict.lookup(
"writeBackgroundMeshDecomposition"));
236 writeBackgroundMeshDecomposition_ = Switch(
false);
cvControls(const dictionary &foamyHexMeshDict)
Construct from references to conformalVoronoiMesh and dictionary.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
scalar degToRad(const scalar deg)
Conversion from degrees to radians.
dimensionedScalar cos(const dimensionedScalar &ds)
static bool & parRun()
Is this a parallel run?