62 #ifndef Foam_zoneDistribute_H 63 #define Foam_zoneDistribute_H 83 public MeshObject<fvMesh, TopologicalMeshObject, zoneDistribute>
119 bitSet cyclicBoundaryCells_;
131 template<
typename Type>
140 template<
typename Type>
184 return globalNumbering_;
197 const label globalIdx,
198 const vector globalIdxCellCentre
203 template<
typename Type>
220 template<
typename Type>
230 template<
typename Type>
235 const bool& checkTransformation =
false 239 template<
typename Type>
const labelListList & getStencil() noexcept
Stencil reference.
vector getPosition(const VolumeField< vector > &positions, const Map< vector > &valuesFromOtherProc, const label gblIdx, const List< label > cyclicPatchID=List< label >()) const
Map< Type > getDatafromOtherProc(const boolList &zone, const VolumeField< Type > &phi)
Returns stencil and provides a Map with globalNumbering.
virtual ~zoneDistribute()=default
Destructor.
Map< Field< Type > > getFields(const boolList &zone, const VolumeField< Type > &phi)
Returns stencil and provides a Map with globalNumbering.
computes a cell point cell stencil in a narrow band. resizes in case of topological change ...
Generic GeometricField class.
TopologicalMeshObject(const word &objName, const objectRegistry &obr)
Construct from name and instance on registry.
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
static zoneDistribute & New(const fvMesh &)
Selector.
Base class for mesh zones.
zoneDistribute(const fvMesh &)
Construct from fvMesh.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Buffers for inter-processor communications streams (UOPstream, UIPstream).
List< label > getCyclicPatches(const label celli, const label globalIdx, const vector globalIdxCellCentre) const
Finds and returns list of all cyclic patch labels to which celli's.
void setUpCommforZone(const boolList &zone, bool updateStencil=true)
Update stencil with boolList the size has to match mesh nCells.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
Mesh data needed to do the Finite Volume discretisation.
TypeName("zoneDistribute")
Runtime information.
void updateStencil(const boolList &zone)
Updates stencil with boolList the size has to match mesh nCells.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Class for parallel communication in a narrow band. It either provides a Map with the neighbouring val...
Map< Field< Type > > getPositionFields(const boolList &zone, const VolumeField< Type > &phi, const bool &checkTransformation=false)
Returns stencil and provides a Map with globalNumbering.
const globalIndex & globalNumbering() const noexcept
Addressing reference.
A HashTable to objects of type <T> with a label key.
Type getValue(const VolumeField< Type > &phi, const Map< Type > &valuesFromOtherProc, const label gblIdx) const
Gives patchNumber and patchFaceNumber for a given Geometric volume field.