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>
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A HashTable to objects of type <T> with a label key.
MeshObject(const fvMesh &mesh)
Buffers for inter-processor communications streams (UOPstream, UIPstream).
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
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.
Calculates a non-overlapping list of offsets based on an input size (eg, number of cells) from differ...
computes a cell point cell stencil in a narrow band. resizes in case of topological change
TypeName("zoneDistribute")
Runtime information.
virtual ~zoneDistribute()=default
Destructor.
const globalIndex & globalNumbering() const noexcept
Addressing reference.
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 updateStencil(const boolList &zone)
Updates stencil with boolList the size has to match mesh nCells.
void setUpCommforZone(const boolList &zone, bool updateStencil=true)
Update stencil with boolList the size has to match mesh nCells.
Type getValue(const VolumeField< Type > &phi, const Map< Type > &valuesFromOtherProc, const label gblIdx) const
Gives patchNumber and patchFaceNumber for a given Geometric volume field.
zoneDistribute(const fvMesh &)
Construct from fvMesh.
static zoneDistribute & New(const fvMesh &)
Selector.
const labelListList & getStencil() noexcept
Stencil reference.
Map< Type > getDatafromOtherProc(const boolList &zone, const VolumeField< Type > &phi)
Returns stencil and provides a Map with globalNumbering.
Map< Field< Type > > getPositionFields(const boolList &zone, const VolumeField< Type > &phi, const bool &checkTransformation=false)
Returns stencil and provides a Map with globalNumbering.
Map< Field< Type > > getFields(const boolList &zone, const VolumeField< Type > &phi)
Returns stencil and provides a Map with globalNumbering.
vector getPosition(const VolumeField< vector > &positions, const Map< vector > &valuesFromOtherProc, const label gblIdx, const List< label > cyclicPatchID=List< label >()) const
Base class for mesh zones.
GeometricField< Type, fvPatchField, volMesh > VolumeField
A volume field for a given type.
List< labelList > labelListList
List of labelList.
List< bool > boolList
A List of bools.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.