Sends/receives parts of mesh+fvfields to neighbouring processors. Used in load balancing. More...
Public Member Functions | |
ClassName ("fvMeshDistribute") | |
fvMeshDistribute (fvMesh &mesh) | |
Construct from mesh. More... | |
fvMeshDistribute (const fvMeshDistribute &)=delete | |
Disallow default bitwise copy construction. More... | |
autoPtr< polyDistributionMap > | distribute (const labelList &dist) |
Send cells to neighbours according to distribution. More... | |
void | operator= (const fvMeshDistribute &)=delete |
Disallow default bitwise assignment. More... | |
Static Public Member Functions | |
static labelList | countCells (const labelList &) |
Helper function: count cells per processor in wanted distribution. More... | |
static void | printCoupleInfo (const primitiveMesh &, const labelList &, const labelList &, const labelList &, const labelList &) |
Print some info on coupling data. More... | |
template<class GeoField > | |
static void | printFieldInfo (const fvMesh &) |
Print some field info. More... | |
static void | printMeshInfo (const fvMesh &) |
Print some info on mesh. More... | |
Sends/receives parts of mesh+fvfields to neighbouring processors. Used in load balancing.
Input is per local cell the processor it should move to. Moves meshes and volFields/surfaceFields and returns map which can be used to distribute other.
Notes:
Definition at line 70 of file fvMeshDistribute.H.
fvMeshDistribute | ( | fvMesh & | mesh | ) |
Construct from mesh.
Definition at line 1777 of file fvMeshDistribute.C.
|
delete |
Disallow default bitwise copy construction.
ClassName | ( | "fvMeshDistribute" | ) |
|
static |
Helper function: count cells per processor in wanted distribution.
Definition at line 1785 of file fvMeshDistribute.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, and UPstream::nProcs().
Referenced by meshRefinement::balance().
Foam::autoPtr< Foam::polyDistributionMap > distribute | ( | const labelList & | dist | ) |
Send cells to neighbours according to distribution.
(for every cell the new proc)
Definition at line 1809 of file fvMeshDistribute.C.
References Foam::abort(), fvMeshAdder::add(), polyMesh::boundaryMesh(), fvMeshSubset::cellMap(), Foam::endl(), fvMeshSubset::faceFlipMap(), fvMeshSubset::faceMap(), Foam::faceMap(), polyMesh::faceOwner(), Foam::FatalError, FatalErrorInFunction, fieldNames, PstreamBuffers::finishedSends(), forAll, forAllConstIter, Pstream::gatherList(), Foam::identityMap(), Foam::inplaceRenumber(), Foam::inplaceReorder(), HashSet< Key, Hash >::insert(), UPstream::myProcNo(), primitiveMesh::nCells(), DemandDrivenMeshObject< polyMesh, RepatchableMeshObject, pointMesh >::New(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, UPstream::nonBlocking, primitiveMesh::nPoints(), UPstream::nProcs(), UPstream::parRun(), patches, patchi, fvMeshSubset::patchMap(), fvMeshSubset::pointMap(), Foam::Pout, Foam::renumber(), HashTable< T, Key, Hash >::resize(), Pstream::scatterList(), fvMeshSubset::setLargeCellSubset(), UPtrList< T >::size(), dictionary::subDict(), fvMeshSubset::subMesh(), List< T >::transfer(), and Field< Type >::typeName.
Referenced by meshRefinement::balance().
|
static |
Print some info on coupling data.
Definition at line 339 of file fvMeshDistribute.C.
References Foam::endl(), primitiveMesh::faceCentres(), forAll, primitiveMesh::nInternalFaces(), Foam::nl, and Foam::Pout.
|
static |
Print some field info.
Definition at line 32 of file fvMeshDistributeTemplates.C.
References Foam::endl(), fields, fvMesh::fields(), forAll, OSstream::name(), patchi, and Foam::Pout.
|
static |
Print some info on mesh.
Definition at line 280 of file fvMeshDistribute.C.
References fvMesh::boundary(), polyMesh::cellZones(), Foam::endl(), polyMesh::faceZones(), forAll, patchIdentifier::name(), Zone< ZoneType, ZonesType >::name(), primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, primitiveMesh::nPoints(), patches, patchi, polyMesh::points(), polyMesh::pointZones(), Foam::Pout, UList< T >::size(), UPtrList< T >::size(), List< T >::size(), and polyPatch::start().
|
delete |
Disallow default bitwise assignment.