mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: checkMesh: improved checking on writeFields. Fixes #1786.
This commit is contained in:
@ -142,31 +142,45 @@ int main(int argc, char *argv[])
|
|||||||
const word surfaceFormat = args.getOrDefault<word>("writeSets", "");
|
const word surfaceFormat = args.getOrDefault<word>("writeSets", "");
|
||||||
const bool writeSets = surfaceFormat.size();
|
const bool writeSets = surfaceFormat.size();
|
||||||
|
|
||||||
|
|
||||||
|
// All potential writeable fields
|
||||||
|
const wordHashSet allFields
|
||||||
|
({
|
||||||
|
"nonOrthoAngle",
|
||||||
|
"faceWeight",
|
||||||
|
"skewness",
|
||||||
|
"cellDeterminant",
|
||||||
|
"aspectRatio",
|
||||||
|
"cellShapes",
|
||||||
|
"cellVolume",
|
||||||
|
"cellVolumeRatio",
|
||||||
|
"minTetVolume",
|
||||||
|
"minPyrVolume",
|
||||||
|
"cellRegion",
|
||||||
|
"wallDistance",
|
||||||
|
"cellZone",
|
||||||
|
"faceZone"
|
||||||
|
});
|
||||||
|
|
||||||
wordHashSet selectedFields;
|
wordHashSet selectedFields;
|
||||||
bool writeFields = args.readIfPresent
|
if (args.found("writeFields"))
|
||||||
(
|
|
||||||
"writeFields",
|
|
||||||
selectedFields
|
|
||||||
);
|
|
||||||
if (!writeFields && args.found("writeAllFields"))
|
|
||||||
{
|
{
|
||||||
selectedFields.insert
|
selectedFields = args.getList<word>("writeFields");
|
||||||
({
|
wordHashSet badFields(selectedFields);
|
||||||
"nonOrthoAngle",
|
badFields -= allFields;
|
||||||
"faceWeight",
|
|
||||||
"skewness",
|
if (!badFields.empty())
|
||||||
"cellDeterminant",
|
{
|
||||||
"aspectRatio",
|
FatalErrorInFunction
|
||||||
"cellShapes",
|
<< "Illegal field(s) " << flatOutput(badFields.sortedToc())
|
||||||
"cellVolume",
|
<< nl
|
||||||
"cellVolumeRatio",
|
<< "Valid fields are " << flatOutput(allFields.sortedToc())
|
||||||
"minTetVolume",
|
<< nl << exit(FatalError);
|
||||||
"minPyrVolume",
|
}
|
||||||
"cellRegion",
|
}
|
||||||
"wallDistance",
|
else if (args.found("writeAllFields"))
|
||||||
"cellZone",
|
{
|
||||||
"faceZone"
|
selectedFields = allFields;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user