mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: make foamToVTK faceZone writing explicit (closes #1117)
- change previous default (convert all faceZones unless -noFaceZones specified) with the default behaviour to only convert face zones on request. - uses the '-faceZones' option as per foamToEnsight
This commit is contained in:
@ -61,7 +61,7 @@ Usage
|
||||
- \par -patches patch or patch list
|
||||
Specify particular patches to write.
|
||||
|
||||
- \par -faceZones patch or zone list
|
||||
- \par -faceZones zone or zone list
|
||||
Specify faceZones to write, with wildcards
|
||||
|
||||
- \par -cellZone zoneName
|
||||
|
||||
@ -149,7 +149,7 @@ Description
|
||||
|
||||
// Write faceZones (POLYDATA file, one for each zone)
|
||||
|
||||
if (doFaceZones && !mesh.faceZones().empty())
|
||||
if (!selectedFaceZones.empty() && !mesh.faceZones().empty())
|
||||
{
|
||||
if (nSurfaceScalarField == -1)
|
||||
{
|
||||
@ -187,6 +187,11 @@ Description
|
||||
|
||||
for (const faceZone& fz : mesh.faceZones())
|
||||
{
|
||||
if (!selectedFaceZones.match(fz.name()))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
indirectPrimitivePatch pp
|
||||
(
|
||||
IndirectList<face>(mesh.faces(), fz),
|
||||
|
||||
@ -70,6 +70,10 @@ Usage
|
||||
- \par -pointSet \<name\>
|
||||
Restrict conversion to the faceSet or pointSet.
|
||||
|
||||
- \par -faceZones zone or zone list
|
||||
Specify single faceZone or or multiple faceZones (name or regex)
|
||||
to write
|
||||
|
||||
- \par -nearCellValue
|
||||
Output cell value on patches instead of patch value itself
|
||||
|
||||
@ -85,9 +89,6 @@ Usage
|
||||
- \par -no-point-data
|
||||
Suppress conversion of pointFields. No interpolated PointData.
|
||||
|
||||
- \par -noFaceZones
|
||||
Suppress conversion of surface fields on faceZones
|
||||
|
||||
- \par -poly-decomp
|
||||
Decompose polyhedral cells into tets/pyramids
|
||||
|
||||
@ -308,6 +309,13 @@ int main(int argc, char *argv[])
|
||||
"Convert specified pointSet only",
|
||||
true // mark as an advanced option
|
||||
);
|
||||
argList::addOption
|
||||
(
|
||||
"faceZones",
|
||||
"wordRes",
|
||||
"Specify single or multiple faceZones to write\n"
|
||||
"Eg, 'cells' or '( slice \"mfp-.*\" )'."
|
||||
);
|
||||
|
||||
argList::addOption
|
||||
(
|
||||
@ -397,12 +405,10 @@ int main(int argc, char *argv[])
|
||||
" Eg, 'outlet' or '( inlet \".*Wall\" )'",
|
||||
true // mark as an advanced option
|
||||
);
|
||||
|
||||
argList::addBoolOption
|
||||
argList::ignoreOptionCompat
|
||||
(
|
||||
"noFaceZones",
|
||||
"Suppress conversion of surface fields on faceZones",
|
||||
true // mark as an advanced option
|
||||
{"noFaceZones", 1806}, // faceZones are only enabled on demand
|
||||
false // bool option, no argument
|
||||
);
|
||||
argList::ignoreOptionCompat
|
||||
(
|
||||
@ -435,7 +441,6 @@ int main(int argc, char *argv[])
|
||||
const bool doFiniteArea = args.found("finiteAreaFields");
|
||||
const bool doSurfaceFields = args.found("surfaceFields");
|
||||
|
||||
const bool doFaceZones = !args.found("noFaceZones") && doInternal;
|
||||
const bool oneBoundary = args.found("one-boundary") && doBoundary;
|
||||
const bool nearCellValue = args.found("nearCellValue") && doBoundary;
|
||||
const bool allRegions = args.found("allRegions");
|
||||
@ -471,10 +476,14 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
// Can be specified as empty (ie, no fields)
|
||||
wordRes selectedFields;
|
||||
const bool useFieldFilter =
|
||||
args.readListIfPresent<wordRe>("fields", selectedFields);
|
||||
|
||||
// Non-mandatory
|
||||
const wordRes selectedFaceZones(args.getList<wordRe>("faceZones", false));
|
||||
|
||||
#include "createTime.H"
|
||||
|
||||
instantList timeDirs = timeSelector::select0(runTime, args);
|
||||
|
||||
Reference in New Issue
Block a user