diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSetDict b/applications/utilities/mesh/manipulation/topoSet/topoSetDict index 9dee4d1df94aeebde25c2bdbffd8b6e9815131d9..5f0e5c0b39df3b00054a35303fab1e9bad40f819 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSetDict +++ b/applications/utilities/mesh/manipulation/topoSet/topoSetDict @@ -368,6 +368,8 @@ FoamFile // { // faceSet f0; // name of faceSet // cellSet c0; // name of cellSet of slave side +// flip false; // optional: flip the faceZone (so now the cellSet +// // is the master side) // } // // // Select based on surface. Orientation from normals on surface diff --git a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C index bb09ecb0849605e4c971d25a596738b8323d6e3c..d4699870a47a3a86f1c3ccd99988ffe4a049597e 100644 --- a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C +++ b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -56,12 +56,14 @@ Foam::setsToFaceZone::setsToFaceZone ( const polyMesh& mesh, const word& faceSetName, - const word& cellSetName + const word& cellSetName, + const Switch& flip ) : topoSetSource(mesh), faceSetName_(faceSetName), - cellSetName_(cellSetName) + cellSetName_(cellSetName), + flip_(flip) {} @@ -74,7 +76,8 @@ Foam::setsToFaceZone::setsToFaceZone : topoSetSource(mesh), faceSetName_(dict.lookup("faceSet")), - cellSetName_(dict.lookup("cellSet")) + cellSetName_(dict.lookup("cellSet")), + flip_(dict.lookupOrDefault("flip", false)) {} @@ -87,7 +90,8 @@ Foam::setsToFaceZone::setsToFaceZone : topoSetSource(mesh), faceSetName_(checkIs(is)), - cellSetName_(checkIs(is)) + cellSetName_(checkIs(is)), + flip_(false) {} @@ -136,7 +140,7 @@ void Foam::setsToFaceZone::applyToSet if (!fzSet.found(faceI)) { - bool flip = false; + bool flipFace = false; label own = mesh_.faceOwner()[faceI]; bool ownFound = cSet.found(own); @@ -148,11 +152,11 @@ void Foam::setsToFaceZone::applyToSet if (ownFound && !neiFound) { - flip = false; + flipFace = false; } else if (!ownFound && neiFound) { - flip = true; + flipFace = true; } else { @@ -174,11 +178,17 @@ void Foam::setsToFaceZone::applyToSet } else { - flip = !ownFound; + flipFace = !ownFound; + } + + + if (flip_) + { + flipFace = !flipFace; } newAddressing.append(faceI); - newFlipMap.append(flip); + newFlipMap.append(flipFace); } } diff --git a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H index 686849cc5000fedf3f3e3a1520272e14f41d036c..72d2f6501e1d8656b135553316ebb4e653be4275 100644 --- a/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H +++ b/src/meshTools/sets/faceZoneSources/setsToFaceZone/setsToFaceZone.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -36,6 +36,7 @@ SourceFiles #define setsToFaceZone_H #include "topoSetSource.H" +#include "Switch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -56,10 +57,13 @@ class setsToFaceZone static addToUsageTable usage_; //- Name of set to use - word faceSetName_; + const word faceSetName_; //- Name of set to use - word cellSetName_; + const word cellSetName_; + + //- Whether cellSet is slave cells or master cells + const Switch flip_; public: @@ -73,7 +77,8 @@ public: ( const polyMesh& mesh, const word& faceSetName, - const word& cellSetName + const word& cellSetName, + const Switch& flip ); //- Construct from dictionary