From a67be719388e33c6072e4593ec66313d44b71ee9 Mon Sep 17 00:00:00 2001 From: mattijs Date: Mon, 30 Nov 2015 15:52:40 +0000 Subject: [PATCH] ENH: Added new ceeateZeroDirectory utility Uses a system/caseProperties file to select templates from etc/caseDicts/createZeroDirectoryTemplates to enable high-level setup of a case. See - etc/caseDicts/createZeroDirectoryTemplates - tutorials/preProcessing/createZeroDirectory --- .../createZeroDirectory/Make/files | 7 + .../createZeroDirectory/Make/options | 11 + .../createZeroDirectory/boundaryInfo.C | 198 + .../createZeroDirectory/boundaryInfo.H | 124 + .../createZeroDirectory/boundaryTemplates.C | 480 + .../createZeroDirectory/boundaryTemplates.H | 118 + .../createZeroDirectory/caseInfo.C | 271 + .../createZeroDirectory/caseInfo.H | 141 + .../createZeroDirectory/createZeroDirectory.C | 311 + .../createZeroDirectory/solverTemplate.C | 438 + .../createZeroDirectory/solverTemplate.H | 187 + .../boundaryConditions/boundaries | 31 + .../boundaryConditions/fluid/buoyant/inlet | 33 + .../fluid/buoyant/inletOptions | 78 + .../boundaryConditions/fluid/buoyant/outlet | 39 + .../fluid/buoyant/outletOptions | 67 + .../boundaryConditions/fluid/buoyant/wall | 54 + .../fluid/buoyant/wallOptions | 53 + .../fluid/compressible/inlet | 33 + .../fluid/compressible/inletOptions | 54 + .../fluid/compressible/outlet | 33 + .../fluid/compressible/outletOptions | 37 + .../fluid/compressible/wall | 35 + .../fluid/compressible/wallOptions | 70 + .../fluid/incompressible/inlet | 23 + .../fluid/incompressible/inletOptions | 54 + .../fluid/incompressible/outlet | 23 + .../fluid/incompressible/wall | 25 + .../fluid/incompressible/wallOptions | 29 + .../boundaryConditions/fluid/inlet | 45 + .../boundaryConditions/fluid/inletOptions | 47 + .../boundaryConditions/fluid/outlet | 30 + .../boundaryConditions/fluid/outletOptions | 117 + .../boundaryConditions/fluid/wall | 64 + .../boundaryConditions/fluid/wallOptions | 98 + .../boundaryConditions/solid/wall | 30 + .../boundaryConditions/solid/wallOptions | 49 + .../models/turbulence/kEpsilon | 52 + .../models/turbulence/kOmega | 52 + .../models/turbulence/kOmegaSST | 51 + .../models/turbulence/laminar | 30 + .../solvers/chtMultiRegionFoam | 65 + .../solvers/icoFoam | 40 + .../solvers/pimpleFoam | 41 + .../solvers/pisoFoam | 41 + .../solvers/rhoPimpleDyMFoam | 46 + .../solvers/rhoPimpleFoam | 46 + .../solvers/simpleFoam | 41 + .../createZeroDirectory/cavity/Allclean | 8 + .../createZeroDirectory/cavity/Allrun | 9 + .../cavity/constant/transportProperties | 21 + .../cavity/system/blockMeshDict | 75 + .../cavity/system/caseProperties | 56 + .../cavity/system/controlDict | 50 + .../cavity/system/fvSchemes | 60 + .../cavity/system/fvSolution | 46 + .../createZeroDirectory/motorBike/Allclean | 13 + .../createZeroDirectory/motorBike/Allrun | 25 + .../motorBike/constant/transportProperties | 21 + .../motorBike/constant/triSurface/README | 4 + .../motorBike/constant/turbulenceProperties | 28 + .../motorBike/system/blockMeshDict | 86 + .../motorBike/system/caseProperties | 115 + .../motorBike/system/controlDict | 51 + .../motorBike/system/decomposeParDict | 42 + .../motorBike/system/fvSchemes | 58 + .../motorBike/system/fvSolution | 92 + .../motorBike/system/meshQualityDict | 24 + .../motorBike/system/snappyHexMeshDict | 317 + .../system/surfaceFeatureExtractDict | 48 + .../snappyMultiRegionHeater/Allclean | 21 + .../snappyMultiRegionHeater/Allrun | 39 + .../constant/bottomAir/g | 20 + .../constant/bottomAir/radiationProperties | 22 + .../bottomAir/thermophysicalProperties | 49 + .../constant/bottomAir/turbulenceProperties | 19 + .../constant/heater/radiationProperties | 34 + .../constant/heater/thermophysicalProperties | 53 + .../constant/leftSolid/radiationProperties | 34 + .../leftSolid/thermophysicalProperties | 1 + .../constant/regionProperties | 25 + .../constant/rightSolid/radiationProperties | 34 + .../rightSolid/thermophysicalProperties | 1 + .../snappyMultiRegionHeater/constant/topAir/g | 20 + .../constant/topAir/radiationProperties | 22 + .../constant/topAir/thermophysicalProperties | 49 + .../constant/topAir/turbulenceProperties | 19 + .../constant/triSurface/bottomAir.stl | 14632 ++++++++++++++++ .../constant/triSurface/heater.stl | 2366 +++ .../constant/triSurface/leftSolid.stl | 4296 +++++ .../constant/triSurface/rightSolid.stl | 4296 +++++ .../constant/triSurface/topAir.stl | 12896 ++++++++++++++ .../snappyMultiRegionHeater/system/README | 3 + .../system/blockMeshDict | 96 + .../system/bottomAir/caseProperties | 66 + .../system/bottomAir/changeDictionaryDict | 32 + .../system/bottomAir/decomposeParDict | 72 + .../system/bottomAir/fvSchemes | 61 + .../system/bottomAir/fvSolution | 85 + .../system/controlDict | 54 + .../system/decomposeParDict | 72 + .../snappyMultiRegionHeater/system/fvSchemes | 46 + .../snappyMultiRegionHeater/system/fvSolution | 22 + .../system/heater/caseProperties | 73 + .../system/heater/changeDictionaryDict | 36 + .../system/heater/decomposeParDict | 72 + .../system/heater/fvSchemes | 53 + .../system/heater/fvSolution | 40 + .../system/leftSolid/caseProperties | 59 + .../system/leftSolid/changeDictionaryDict | 32 + .../system/leftSolid/decomposeParDict | 72 + .../system/leftSolid/fvSchemes | 53 + .../system/leftSolid/fvSolution | 1 + .../system/rightSolid/caseProperties | 59 + .../system/rightSolid/changeDictionaryDict | 32 + .../system/rightSolid/decomposeParDict | 72 + .../system/rightSolid/fvSchemes | 53 + .../system/rightSolid/fvSolution | 1 + .../system/snappyHexMeshDict | 419 + .../system/surfaceFeatureExtractDict | 99 + .../system/topAir/caseProperties | 93 + .../system/topAir/changeDictionaryDict | 21 + .../system/topAir/decomposeParDict | 72 + .../system/topAir/fvSchemes | 61 + .../system/topAir/fvSolution | 85 + 125 files changed, 46406 insertions(+) create mode 100644 applications/utilities/preProcessing/createZeroDirectory/Make/files create mode 100644 applications/utilities/preProcessing/createZeroDirectory/Make/options create mode 100644 applications/utilities/preProcessing/createZeroDirectory/boundaryInfo.C create mode 100644 applications/utilities/preProcessing/createZeroDirectory/boundaryInfo.H create mode 100644 applications/utilities/preProcessing/createZeroDirectory/boundaryTemplates.C create mode 100644 applications/utilities/preProcessing/createZeroDirectory/boundaryTemplates.H create mode 100644 applications/utilities/preProcessing/createZeroDirectory/caseInfo.C create mode 100644 applications/utilities/preProcessing/createZeroDirectory/caseInfo.H create mode 100644 applications/utilities/preProcessing/createZeroDirectory/createZeroDirectory.C create mode 100644 applications/utilities/preProcessing/createZeroDirectory/solverTemplate.C create mode 100644 applications/utilities/preProcessing/createZeroDirectory/solverTemplate.H create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/boundaries create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/inletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/outletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wall create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/buoyant/wallOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/inletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/outletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wall create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/compressible/wallOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/inletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/outlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wall create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/incompressible/wallOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/inletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outlet create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/outletOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wall create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/fluid/wallOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wall create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/boundaryConditions/solid/wallOptions create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kEpsilon create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmega create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/kOmegaSST create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/models/turbulence/laminar create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/chtMultiRegionFoam create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/icoFoam create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/pimpleFoam create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/pisoFoam create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/rhoPimpleDyMFoam create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/rhoPimpleFoam create mode 100644 etc/caseDicts/createZeroDirectoryTemplates/solvers/simpleFoam create mode 100755 tutorials/preProcessing/createZeroDirectory/cavity/Allclean create mode 100755 tutorials/preProcessing/createZeroDirectory/cavity/Allrun create mode 100644 tutorials/preProcessing/createZeroDirectory/cavity/constant/transportProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/cavity/system/blockMeshDict create mode 100644 tutorials/preProcessing/createZeroDirectory/cavity/system/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/cavity/system/controlDict create mode 100644 tutorials/preProcessing/createZeroDirectory/cavity/system/fvSchemes create mode 100644 tutorials/preProcessing/createZeroDirectory/cavity/system/fvSolution create mode 100755 tutorials/preProcessing/createZeroDirectory/motorBike/Allclean create mode 100755 tutorials/preProcessing/createZeroDirectory/motorBike/Allrun create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/constant/transportProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/constant/triSurface/README create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/constant/turbulenceProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/blockMeshDict create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/controlDict create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/fvSchemes create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/fvSolution create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/meshQualityDict create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/snappyHexMeshDict create mode 100644 tutorials/preProcessing/createZeroDirectory/motorBike/system/surfaceFeatureExtractDict create mode 100755 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/Allclean create mode 100755 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/Allrun create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/bottomAir/g create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/bottomAir/radiationProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/bottomAir/thermophysicalProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/bottomAir/turbulenceProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/heater/radiationProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/heater/thermophysicalProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/leftSolid/radiationProperties create mode 120000 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/leftSolid/thermophysicalProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/regionProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/rightSolid/radiationProperties create mode 120000 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/rightSolid/thermophysicalProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/topAir/g create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/topAir/radiationProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/topAir/thermophysicalProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/topAir/turbulenceProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/triSurface/bottomAir.stl create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/triSurface/heater.stl create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/triSurface/leftSolid.stl create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/triSurface/rightSolid.stl create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/constant/triSurface/topAir.stl create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/README create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/blockMeshDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/changeDictionaryDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/fvSchemes create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/fvSolution create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/controlDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/fvSchemes create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/fvSolution create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/changeDictionaryDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/fvSchemes create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/fvSolution create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/changeDictionaryDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/fvSchemes create mode 120000 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/fvSolution create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/changeDictionaryDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/fvSchemes create mode 120000 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/fvSolution create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/snappyHexMeshDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/surfaceFeatureExtractDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/caseProperties create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/changeDictionaryDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/decomposeParDict create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/fvSchemes create mode 100644 tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/fvSolution diff --git a/applications/utilities/preProcessing/createZeroDirectory/Make/files b/applications/utilities/preProcessing/createZeroDirectory/Make/files new file mode 100644 index 0000000000..379802af21 --- /dev/null +++ b/applications/utilities/preProcessing/createZeroDirectory/Make/files @@ -0,0 +1,7 @@ +boundaryInfo.C +boundaryTemplates.C +caseInfo.C +solverTemplate.C +createZeroDirectory.C + +EXE = $(FOAM_APPBIN)/createZeroDirectory diff --git a/applications/utilities/preProcessing/createZeroDirectory/Make/options b/applications/utilities/preProcessing/createZeroDirectory/Make/options new file mode 100644 index 0000000000..b6e5516b59 --- /dev/null +++ b/applications/utilities/preProcessing/createZeroDirectory/Make/options @@ -0,0 +1,11 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/dynamicMesh/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/regionModels/regionModel/lnInclude + +EXE_LIBS = \ + -lfiniteVolume \ + -ldynamicMesh \ + -lmeshTools \ + -lregionModels diff --git a/applications/utilities/preProcessing/createZeroDirectory/boundaryInfo.C b/applications/utilities/preProcessing/createZeroDirectory/boundaryInfo.C new file mode 100644 index 0000000000..6dd055b6a3 --- /dev/null +++ b/applications/utilities/preProcessing/createZeroDirectory/boundaryInfo.C @@ -0,0 +1,198 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "boundaryInfo.H" +#include "Time.H" +#include "polyMesh.H" +#include "processorPolyPatch.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTemplateTypeNameAndDebug(IOPtrList, 0); +} + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +Foam::IOPtrList Foam::boundaryInfo::readBoundaryDict +( + const Time& runTime, + const word& regionName +) const +{ + Info<< " Reading mesh boundaries" << endl; + + const_cast(IOPtrList::typeName) = polyBoundaryMesh::typeName; + IOPtrList boundaryPatchList + ( + IOobject + ( + "boundary", + runTime.findInstance(regionName/polyMesh::meshSubDir, "boundary"), + regionName/polyMesh::meshSubDir, + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) + ); + + // remove zero-sized patches + PtrList boundaryPatchListNew; + forAll(boundaryPatchList, patchI) + { + const dictionary& dict = boundaryPatchList[patchI].dict(); + const word pType = dict.lookup("type"); + bool procPatch = pType == processorPolyPatch::typeName; + + bool addPatch = true; + if (!procPatch) + { + label nFaces = readLabel(dict.lookup("nFaces")); + reduce(nFaces, sumOp