ENH: checkMesh: improved checking on writeFields. Fixes #1786.

This commit is contained in:
mattijs
2020-07-23 17:25:44 +01:00
parent d3c76d8ec8
commit bcda061f54

View File

@ -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;
});
} }