snappyHexMeshConfig: added '-firstLayerThickness' and '-layerExpansionRatio' options
This commit is contained in:
@ -140,6 +140,12 @@ Usage
|
||||
- \par -layers \<int\>
|
||||
Specify <int> surface layers at wall boundaries, default 0
|
||||
|
||||
- \par -firstLayerThickness \<value\>
|
||||
Specify the thickness of the near wall cells for layer addition
|
||||
|
||||
- \par -layerExpansionRatio \<value\>
|
||||
Specify the expansion ratio between layers, default 1.2
|
||||
|
||||
- \par -cellZones \<list\>
|
||||
Surfaces that form cellZones, e.g. '(porousZone heatSource)'
|
||||
|
||||
@ -197,7 +203,7 @@ void readPatchOption
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::usageMin = 30;
|
||||
argList::usageMin = 32;
|
||||
argList::usageMax = 105;
|
||||
|
||||
argList::addNote
|
||||
@ -320,6 +326,20 @@ int main(int argc, char *argv[])
|
||||
"specify <int> surface layers at wall boundaries, default 0"
|
||||
);
|
||||
|
||||
argList::addOption
|
||||
(
|
||||
"firstLayerThickness",
|
||||
"value",
|
||||
"specify the thickness of the near wall cells for layer addition"
|
||||
);
|
||||
|
||||
argList::addOption
|
||||
(
|
||||
"layerExpansionRatio",
|
||||
"value",
|
||||
"specify the expansion ratio between layers, default 1.2"
|
||||
);
|
||||
|
||||
argList::addOption
|
||||
(
|
||||
"cellZones",
|
||||
@ -574,6 +594,16 @@ int main(int argc, char *argv[])
|
||||
|
||||
const label layers(args.optionLookupOrDefault<label>("layers", 0));
|
||||
|
||||
const scalar firstLayerThickness
|
||||
(
|
||||
args.optionLookupOrDefault<scalar>("firstLayerThickness", 0)
|
||||
);
|
||||
|
||||
const scalar layerExpansionRatio
|
||||
(
|
||||
args.optionLookupOrDefault<scalar>("layerExpansionRatio", 1.2)
|
||||
);
|
||||
|
||||
const point insidePoint
|
||||
(
|
||||
args.optionLookupOrDefault<point>("insidePoint", point::zero)
|
||||
@ -610,6 +640,8 @@ int main(int argc, char *argv[])
|
||||
refinementDists,
|
||||
explicitFeatures,
|
||||
layers,
|
||||
firstLayerThickness,
|
||||
layerExpansionRatio,
|
||||
insidePoint,
|
||||
nCellsBetweenLevels
|
||||
);
|
||||
|
||||
@ -459,13 +459,36 @@ void Foam::snappyHexMeshConfiguration::writeAddLayersControls()
|
||||
|
||||
endDict(os_);
|
||||
|
||||
os_ << indent << "relativeSizes on; "
|
||||
<< "// off, usually with firstLayerThickness" << nl
|
||||
<< indent << "expansionRatio 1.2;" << nl
|
||||
<< indent << "finalLayerThickness 0.5;" << nl
|
||||
<< indent << "minThickness 1e-3;" << nl
|
||||
<< indent << "firstLayerThickness-disabled 0.01;" << nl << nl
|
||||
<< indent << "maxThicknessToMedialRatio-disabled 0.3;" << endl;
|
||||
bool relativeSizes(firstLayerThickness_ == 0);
|
||||
|
||||
// relativeSizes
|
||||
os_ << indent << "relativeSizes "
|
||||
<< (
|
||||
relativeSizes
|
||||
? "on; // off, usually with firstLayerThickness"
|
||||
: "off; // on, usually with finalLayerThickness"
|
||||
) << endl;
|
||||
|
||||
// expansionRatio
|
||||
os_ << indent << "expansionRatio "<< layerExpansionRatio_
|
||||
<< ";" << endl;
|
||||
|
||||
// finalLayerThickness
|
||||
os_ << indent << "finalLayerThickness"
|
||||
<< (relativeSizes ? " " : "-disabled ") << "0.5;" << endl;
|
||||
|
||||
// minimumThickness
|
||||
os_ << indent << "minThickness "
|
||||
<< (relativeSizes ? scalar(0.001) : 0.5*firstLayerThickness_)
|
||||
<< ";" << endl;
|
||||
|
||||
// firstLayerThickness
|
||||
os_ << indent << "firstLayerThickness"
|
||||
<< (relativeSizes ? "-disabled " : " ")
|
||||
<< firstLayerThickness_ << ";" << endl;
|
||||
|
||||
// maxThicknessToMedialRatio
|
||||
os_ << indent << "maxThicknessToMedialRatio-disabled 0.3;" << endl;
|
||||
|
||||
endDict(os_);
|
||||
}
|
||||
@ -499,6 +522,8 @@ Foam::snappyHexMeshConfiguration::snappyHexMeshConfiguration
|
||||
const List<Tuple3<word, scalar, label>>& refinementDists,
|
||||
const bool explicitFeatures,
|
||||
const label layers,
|
||||
const scalar firstLayerThickness,
|
||||
const scalar layerExpansionRatio,
|
||||
const point& insidePoint,
|
||||
const label nCellsBetweenLevels
|
||||
)
|
||||
@ -512,6 +537,8 @@ Foam::snappyHexMeshConfiguration::snappyHexMeshConfiguration
|
||||
refinementDists_(refinementDists),
|
||||
explicitFeatures_(explicitFeatures),
|
||||
layers_(layers),
|
||||
firstLayerThickness_(firstLayerThickness),
|
||||
layerExpansionRatio_(layerExpansionRatio),
|
||||
insidePoint_(insidePoint),
|
||||
nCellsBetweenLevels_(nCellsBetweenLevels)
|
||||
{}
|
||||
|
||||
@ -86,6 +86,12 @@ class snappyHexMeshConfiguration
|
||||
//- Number of layers at wall patches, default 0
|
||||
const label layers_;
|
||||
|
||||
//- Thickness of the near wall cells with layer addition
|
||||
const scalar firstLayerThickness_;
|
||||
|
||||
//- Expansion ratio used with layer addition
|
||||
const scalar layerExpansionRatio_;
|
||||
|
||||
//- insidePoint parameter
|
||||
point insidePoint_;
|
||||
|
||||
@ -175,6 +181,8 @@ public:
|
||||
const List<Tuple3<word, scalar, label>>& refinementDists,
|
||||
const bool explicitFeatures,
|
||||
const label layers,
|
||||
const scalar firstLayerThickness,
|
||||
const scalar layerExpansionRatio,
|
||||
const point& insidePoint,
|
||||
const label nCellsBetweenLevels
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user