52#ifndef Foam_fvMeshDistribute_H
53#define Foam_fvMeshDistribute_H
64class mapAddedPolyMesh;
65class mapDistributePolyMesh;
81 static void inplaceRenumberWithFlip
84 const bool oldToNewHasFlip,
85 const bool lstHasFlip,
92 const bool selectEqual,
101 template<
class ZoneType,
class ZoneMesh>
112 label findNonEmptyPatch()
const;
115 template<
class T,
class Mesh>
116 void saveBoundaryFields
122 template<
class T,
class Mesh>
123 void mapBoundaryFields
142 template<
class GeoField,
class PatchFieldType>
145 const typename GeoField::value_type& initVal
190 static void subsetCouplingData
200 const label oldInternalFaces,
217 static void findCouples
236 static void findCouples
255 const label nInternalFaces1,
274 const label oldInternalPatchi
312 template<
class GeoField>
313 static void getFieldNames
318 const bool syncPar =
true
322 template<
class GeoField>
323 static void sendFields
348 template<
class GeoField>
349 static void receiveFields
397 template<
class GeoField>
401 template<
class GeoField>
A field of fields is a PtrList of fields with reference counting.
Generic templated field type.
A HashTable similar to std::unordered_map.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A HashTable to objects of type <T> with a label key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Accumulating histogram of values. Specified bin resolution automatic generation of bins.
Sends/receives parts of mesh+fvfields to neighbouring processors. Used in load balancing.
ClassName("fvMeshDistribute")
static void printCoupleInfo(const primitiveMesh &, const labelList &, const labelList &, const labelList &, const labelList &)
Print some info on coupling data.
static void printIntFieldInfo(const fvMesh &)
Print some field info.
static void printMeshInfo(const fvMesh &)
Print some info on mesh.
static labelList countCells(const labelList &)
Helper function: count cells per processor in wanted distribution.
static tmp< surfaceScalarField > generateTestField(const fvMesh &)
Generate a test field on faces.
static void printFieldInfo(const fvMesh &)
Print some field info.
autoPtr< mapDistributePolyMesh > distribute(const labelList &dist)
Send cells to neighbours according to distribution.
static void testField(const surfaceScalarField &)
Check whether field consistent with face orientation.
Holds a reference to the original mesh (the baseMesh) and optionally to a subset of that mesh (the su...
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a mesh addition where we add a mesh ('added m...
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Cell-face mesh analysis engine.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Foam::PtrList< Foam::fvMesh > meshes(regionNames.size())
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields