Go to the documentation of this file.
44 #ifndef zoneDistribute_H
45 #define zoneDistribute_H
67 public MeshObject<fvMesh, TopologicalMeshObject, zoneDistribute>
88 template<
typename Type>
98 template<
typename Type>
150 template<
typename Type>
153 const GeometricField<Type, fvPatchField, volMesh>&
phi,
154 const Map<Type>& valuesFromOtherProc,
159 template<
typename Type>
163 const GeometricField<Type, fvPatchField, volMesh>&
phi
167 template<
typename Type>
171 const GeometricField<Type, fvPatchField, volMesh>&
phi
Type getValue(const GeometricField< Type, fvPatchField, volMesh > &phi, const Map< Type > &valuesFromOtherProc, const label gblIdx) const
virtual ~zoneDistribute()=default
Map< Type > getDatafromOtherProc(const boolList &zone, const GeometricField< Type, fvPatchField, volMesh > &phi)
TypeName("zoneDistribute")
Base class for mesh zones.
A HashTable to objects of type <T> with a label key.
List< bool > boolList
A List of bools.
const globalIndex & globalNumbering() const noexcept
zoneDistribute(const fvMesh &)
Mesh data needed to do the Finite Volume discretisation.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
static zoneDistribute & New(const fvMesh &)
void setUpCommforZone(const boolList &zone, bool updateStencil=true)
void updateStencil(const boolList &zone)
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...
const labelListList & getStencil() noexcept
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Map< Field< Type > > getFields(const boolList &zone, const GeometricField< Type, fvPatchField, volMesh > &phi)
Templated abstract base-class for optional mesh objects used to automate their allocation to the mesh...
Generic GeometricField class.
computes a cell point cell stencil in a narrow band. resizes in case of topological change