45 setsToFaceZone::typeName,
46 "\n Usage: setsToFaceZone <faceSet> <slaveCellSet>\n\n" 47 " Select all faces in the faceSet." 48 " Orientated so slave side is in cellSet.\n\n" 58 const word& faceSetName,
59 const word& cellSetName,
64 faceSetName_(faceSetName),
65 cellSetName_(cellSetName),
78 faceSetName_(dict.
lookup(
"faceSet")),
79 cellSetName_(dict.
lookup(
"cellSet")),
92 faceSetName_(checkIs(is)),
93 cellSetName_(checkIs(is)),
112 if (!isA<faceZoneSet>(
set))
115 <<
"Operation only allowed on a faceZoneSet." <<
endl;
123 Info<<
" Adding all faces from faceSet " << faceSetName_
127 faceSet fSet(mesh_, faceSetName_);
128 cellSet cSet(mesh_, cellSetName_);
136 label facei = iter.key();
138 if (!fzSet.
found(facei))
140 bool flipFace =
false;
142 label own = mesh_.faceOwner()[facei];
143 bool ownFound = cSet.
found(own);
145 if (mesh_.isInternalFace(facei))
147 label nei = mesh_.faceNeighbour()[facei];
148 bool neiFound = cSet.
found(nei);
150 if (ownFound && !neiFound)
154 else if (!ownFound && neiFound)
161 <<
"One of owner or neighbour of internal face " 162 << facei <<
" should be in cellSet " 164 <<
" to be able to determine orientation." 166 <<
"Face:" << facei <<
" own:" << own
167 <<
" OwnInCellSet:" << ownFound
169 <<
" NeiInCellSet:" << neiFound
175 flipFace = !ownFound;
181 flipFace = !flipFace;
184 newAddressing.append(facei);
185 newFlipMap.append(flipFace);
195 Info<<
" Removing all faces from faceSet " << faceSetName_
210 newFlipMap.append(fzSet.
flipMap()[i]);
const labelList & addressing() const
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void applyToSet(const topoSetSource::setAction action, topoSet &) const
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none.
setsToFaceZone(const polyMesh &mesh, const word &faceSetName, const word &cellSetName, const Switch &flip)
Construct from components.
const boolList & flipMap() const
Macros for easy insertion into run-time selection tables.
Base class of a source for a topoSet.
virtual ~setsToFaceZone()
Destructor.
A class for handling words, derived from string.
setAction
Enumeration defining the valid actions.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
bool found(const Key &) const
Return true if hashedEntry is found in table.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
void updateSet()
Sort addressing and make faceSet part consistent with addressing.
Like faceSet but updates faceZone when writing.
General set of labels of mesh quantity (points, cells, faces).
#define WarningInFunction
Report a warning using Foam::Warning.
Class with constructor to add usage string to table.
A collection of cell labels.
Mesh consisting of general polyhedral cells.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
const word & name() const
Return name.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.