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)
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<<
" Cannot create new of halo (needs a starting set)"
221 Info<<
" Adding halo cells to the current set, using "
222 << steps_ <<
" step ..." <<
endl;
231 Info<<
" Removing cells on the perimeter of current set, using "
232 << 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 add/remove halo cells (cells attached to the outside of the current cellSet)....
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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.
Base class of a topoSet source 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.