Go to the documentation of this file.
43 searchableSurfaceToFaceZone,
51 searchableSurfaceToFaceZone::typeName,
52 "\n Usage: searchableSurfaceToFaceZone surface\n\n"
53 " Select all faces whose cell-cell centre vector intersects the surface "
75 dict.lookupOrDefault(
"name",
mesh.objectRegistry::db().name()),
76 mesh.time().constant(),
78 mesh.objectRegistry::db(),
102 if (!isA<faceZoneSet>(set))
105 <<
"Operation only allowed on a faceZoneSet." <<
endl;
120 for (
label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
122 start[faceI] = cc[mesh_.faceOwner()[faceI]];
123 end[faceI] = cc[mesh_.faceNeighbour()[faceI]];
141 start[faceI] = cc[mesh_.faceOwner()[faceI]];
142 end[faceI] = nbrCellCentres[faceI-mesh_.nInternalFaces()];
150 start[faceI] = cc[mesh_.faceOwner()[faceI]];
151 end[faceI] = mesh_.faceCentres()[faceI];
161 surfacePtr_().findLine(start, end, hits);
163 surfacePtr_().getNormal(hits, normals);
171 Info<<
" Adding all faces from surface "
172 << surfacePtr_().name() <<
" ..." <<
endl;
179 if (hits[faceI].hit() && !fzSet.
found(faceI))
181 newAddressing.
append(faceI);
182 vector d = end[faceI]-start[faceI];
183 newFlipMap.
append((normals[faceI] & d) < 0);
193 Info<<
" Removing all faces from surface "
194 << surfacePtr_().name() <<
" ..." <<
endl;
const labelList & addressing() const
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A class for handling words, derived from string.
autoPtr< BasicCompressibleTurbulenceModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleTurbulenceModel::transportModel &transport, const word &propertiesName)
#define forAll(list, i)
Loop across all elements in list.
void updateSet()
Sort addressing and make faceSet part consistent with addressing.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
Class with constructor to add usage string to table.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
Ostream & endl(Ostream &os)
Add newline and flush stream.
setAction
Enumeration defining the valid actions.
const boolList & flipMap() const
Mesh consisting of general polyhedral cells.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
A patch is a list of labels that address the faces in the global face list.
Like faceSet but updates faceZone when writing.
General set of labels of mesh quantity (points, cells, faces).
A list of keyword definitions, which are a keyword followed by any number of values (e....
Macros for easy insertion into run-time selection tables.
bool found(const Key &) const
Return true if hashedEntry is found in table.
Base class of a source for a topoSet.
static addToUsageTable usage_
Add usage string.
label start() const
Return start label of this patch in the polyMesh face list.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
virtual ~searchableSurfaceToFaceZone()
Destructor.
virtual void applyToSet(const topoSetSource::setAction action, topoSet &) const
searchableSurfaceToFaceZone(const polyMesh &mesh, const dictionary &dict)
Construct from dictionary.
void size(const label)
Override size to be inconsistent with allocated storage.
defineTypeNameAndDebug(combustionModel, 0)
#define WarningInFunction
Report a warning using Foam::Warning.