Go to the documentation of this file.
63 "\n Usage: haloToCell\n\n"
64 " Select halo cells\n\n"
70 void Foam::haloToCell::combine(topoSet& set,
const bool add)
const
78 bitSet current(
cells.size());
80 for (
const label celli : set)
88 bitSet updates(
cells.size());
90 for (label stepi = 0; stepi < steps_; ++stepi)
98 for (
const label celli : current)
100 for (
const label facei :
cells[celli])
102 outsideFaces.flip(facei);
113 bitXorEqOp<unsigned int>()
118 for (
const label facei : outsideFaces)
120 updates.set(faceOwn[facei]);
123 updates.set(faceNei[facei]);
134 Info<<
" Grow " << current.count()
135 <<
" by " << updates.count() <<
endl;
148 Info<<
" Shrink " << current.count()
149 <<
" by " << updates.count() <<
endl;
175 steps_(
max(steps, 1))
211 Info<<
" action=new option is not available for haloToCell" <<
nl
212 <<
" Cannot create new of halo (needs a starting set)"
222 Info<<
" Adding halo cells to the current set, using "
223 << steps_ <<
" step ..." <<
endl;
232 Info<<
" Removing cells on the perimeter of current set, using "
233 << steps_ <<
" step ..." <<
endl;
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
List< label > labelList
A List of labels.
haloToCell(const polyMesh &mesh, const label steps=1)
Construct from components.
label nFaces() const
Number of mesh faces.
Class with constructor to add usage string to table.
virtual void applyToSet(const topoSetSource::setAction action, topoSet &set) const
Apply specified action to the topoSet.
const cellList & cells() const
Ostream & endl(Ostream &os)
Add newline and flush stream.
setAction
Enumeration defining the valid actions.
Create a new set and ADD elements to it.
Mesh consisting of general polyhedral cells.
A topoSetCellSource to select cells attached to the outside of this cellSet, and add into/remove from...
bool verbose_
Verbosity (default: true)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
messageStream Info
Information stream (uses stdout - output is on the master only)
AccessType combine(const UList< T > &lists, AccessOp aop=accessOp< T >())
Combines sub-lists into a single list.
virtual const labelList & faceOwner() const
Return face owner.
addNamedToRunTimeSelectionTable(topoSetCellSource, badQualityToCell, word, badQuality)
List< cell > cellList
A List of cells.
General set of labels of mesh quantity (points, cells, faces).
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Macros for easy insertion into run-time selection tables.
Subtract elements from the set.
void clear()
Clear all entries from table.
bool isInternalFace(const label faceIndex) const
Return true if given face label is internal to the mesh.
The topoSetCellSource is a intermediate class for handling topoSet sources for selecting cells.
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set(const label i, bool val=true)
A bitSet::set() method for a list of bool.
void addOrDelete(topoSet &set, const label id, const bool add) const
Add or delete id from set. Add when 'add' is true.
const polyMesh & mesh_
Reference to the mesh.
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
defineTypeNameAndDebug(combustionModel, 0)
virtual const labelList & faceNeighbour() const
Return face neighbour.