Automatic domain decomposition class for finite-volume meshes. More...
Public Member Functions | |
| TypeName ("domainDecomposition") | |
| Runtime type information. More... | |
| domainDecomposition (const processorRunTimes &procRunTimes, const word ®ionName) | |
| Construct from processor run times and region name. More... | |
| virtual | ~domainDecomposition () |
| Destructor. More... | |
| const fvMesh & | completeMesh () const |
| Access the global mesh. More... | |
| const PtrList< fvMesh > & | procMeshes () const |
| Access the processor meshes. More... | |
| label | nProcs () const |
| Return the number of processors in the decomposition. More... | |
| void | readComplete () |
| ... More... | |
| void | readProcs () |
| ... More... | |
| void | readAddressing () |
| ... More... | |
| fvMesh::readUpdateState | readUpdate () |
| ... More... | |
| void | decompose () |
| Decompose the complete mesh to create the processor meshes and. More... | |
| void | reconstruct () |
| Reconstruct the processor meshes to create the complete mesh and. More... | |
| labelList | cellToProc () const |
| Return the distribution as an FV field for writing. More... | |
| const labelListList & | procPointAddressing () const |
| Access the labels of points for each processor. More... | |
| const labelListList & | procFaceAddressing () const |
| Access the labels of faces for each processor (see notes above) More... | |
| const labelListList & | procCellAddressing () const |
| Access the labels of cells for each processor. More... | |
| const PtrList< surfaceLabelField::Boundary > & | procFaceAddressingBf () const |
| Access the labels of faces for each processor (see notes above) More... | |
| void | writeAddressing () const |
| Write the decomposition addressing. More... | |
| void | writeComplete (const bool doSets) const |
| Write the decomposed meshes and associated data. More... | |
| void | writeProcs (const bool doSets) const |
| Write the decomposed meshes and associated data. More... | |
Automatic domain decomposition class for finite-volume meshes.
Definition at line 52 of file domainDecomposition.H.
| domainDecomposition | ( | const processorRunTimes & | procRunTimes, |
| const word & | regionName | ||
| ) |
Construct from processor run times and region name.
Definition at line 564 of file domainDecomposition.C.
|
virtual |
Destructor.
Definition at line 582 of file domainDecomposition.C.
| TypeName | ( | "domainDecomposition" | ) |
Runtime type information.
|
inline |
Access the global mesh.
Definition at line 191 of file domainDecomposition.H.
Referenced by domainDecomposition::decompose().

Access the processor meshes.
Definition at line 198 of file domainDecomposition.H.
|
inline |
Return the number of processors in the decomposition.
Definition at line 205 of file domainDecomposition.H.
References domainDecomposition::cellToProc(), domainDecomposition::decompose(), processorRunTimes::nProcs(), domainDecomposition::readAddressing(), domainDecomposition::readComplete(), domainDecomposition::readProcs(), domainDecomposition::readUpdate(), and domainDecomposition::reconstruct().
Referenced by domainDecomposition::decompose().


| void readComplete | ( | ) |
...
Definition at line 588 of file domainDecomposition.C.
References IOobject::NO_READ, and IOobject::NO_WRITE.
Referenced by domainDecomposition::nProcs().

| void readProcs | ( | ) |
...
Definition at line 609 of file domainDecomposition.C.
References IOobject::NO_READ, and IOobject::NO_WRITE.
Referenced by domainDecomposition::nProcs().

| void readAddressing | ( | ) |
...
Definition at line 634 of file domainDecomposition.C.
References polyMesh::facesInstance(), polyMesh::meshSubDir, IOobject::MUST_READ, and IOobject::NO_WRITE.
Referenced by domainDecomposition::nProcs().


| Foam::fvMesh::readUpdateState readUpdate | ( | ) |
...
Definition at line 688 of file domainDecomposition.C.
References forAll, fvMesh::nonGeometric, Foam::fvc::reconstruct(), polyMesh::TOPO_CHANGE, and polyMesh::UNCHANGED.
Referenced by domainDecomposition::nProcs().


| void decompose | ( | ) |
Decompose the complete mesh to create the processor meshes and.
populate the addressing
Definition at line 274 of file domainDecompositionDecompose.C.
References fvMesh::addFvPatches(), PtrList< T >::append(), List< T >::append(), IOobject::AUTO_WRITE, polyMesh::boundaryMesh(), primitiveMesh::cells(), polyMesh::cellZones(), MeshZones< ZoneType, MeshType >::clearAddressing(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::clearStorage(), Foam::clone(), polyPatch::clone(), domainDecomposition::completeMesh(), Foam::endl(), Foam::exit(), polyPatch::faceCells(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, Foam::invertOneToMany(), Foam::mag(), Foam::max(), patchIdentifier::name(), cyclicPolyPatch::nbrPatch(), primitiveMesh::nCells(), processorPolyPatch::neighbProcNo(), Foam::nl, nPatches, nPoints, domainDecomposition::nProcs(), nonConformalPolyPatch::origPatch(), patchi, pointLabels(), points, polyMesh::points(), polyMesh::pointZones(), processorRunTimes::procTimes(), PtrList< T >::set(), polyMesh::setPointsInstance(), PtrList< T >::setSize(), List< T >::setSize(), UPtrList< T >::size(), List< T >::size(), Foam::sortedOrder(), polyPatch::start(), HashTable< T, Key, Hash >::toc(), List< T >::transfer(), and IOobject::writeOpt().
Referenced by domainDecomposition::nProcs().


| void reconstruct | ( | ) |
Reconstruct the processor meshes to create the complete mesh and.
populate the addressing
Definition at line 36 of file domainDecompositionReconstruct.C.
References NotImplemented.
Referenced by domainDecomposition::nProcs().

| Foam::labelList cellToProc | ( | ) | const |
Return the distribution as an FV field for writing.
Definition at line 786 of file domainDecomposition.C.
References forAll.
Referenced by domainDecomposition::nProcs().

|
inline |
Access the labels of points for each processor.
Definition at line 234 of file domainDecomposition.H.
|
inline |
Access the labels of faces for each processor (see notes above)
Definition at line 241 of file domainDecomposition.H.
|
inline |
Access the labels of cells for each processor.
Definition at line 248 of file domainDecomposition.H.
References domainDecomposition::procFaceAddressingBf(), domainDecomposition::writeAddressing(), domainDecomposition::writeComplete(), and domainDecomposition::writeProcs().

| const Foam::PtrList< Foam::surfaceLabelField::Boundary > & procFaceAddressingBf | ( | ) | const |
Access the labels of faces for each processor (see notes above)
Definition at line 803 of file domainDecomposition.C.
References List< T >::append(), fvMesh::boundary(), boundary(), Foam::count(), Pair< Type >::first(), forAll, forAllConstIter, Foam::labelMax, Foam::mag(), cyclicFvPatch::nbrPatchID(), processorFvPatch::neighbProcNo(), GeometricField< Type, PatchField, GeoMesh >::null(), cyclicFvPatch::owner(), fvPatch::patchSlice(), processorCyclicFvPatch::referPatchID(), List< T >::resize(), Pair< Type >::second(), and HashTable< T, Key, Hash >::set().
Referenced by domainDecomposition::procCellAddressing().


| void writeAddressing | ( | ) | const |
Write the decomposition addressing.
Definition at line 1140 of file domainDecomposition.C.
References polyMesh::facesInstance(), polyMesh::meshSubDir, IOobject::NO_READ, IOobject::NO_WRITE, and regIOobject::write().
Referenced by domainDecomposition::procCellAddressing().


| void writeComplete | ( | const bool | doSets | ) | const |
Write the decomposed meshes and associated data.
Definition at line 1194 of file domainDecomposition.C.
References IOstream::defaultPrecision(), Foam::endl(), Foam::faceMap(), forAll, forAllConstIter, Foam::Info, HashSet< Key, Hash >::insert(), HashTable< T, Key, Hash >::insert(), IOobject::instance(), Foam::mag(), Foam::max(), polyMesh::meshSubDir, IOobject::NO_READ, IOobject::NO_WRITE, objects, IOobject::READ_IF_PRESENT, UPtrList< T >::set(), PtrList< T >::set(), HashTable< T, Key, Hash >::size(), HashTable< T, Key, Hash >::sortedToc(), and hexRef8Data::write().
Referenced by domainDecomposition::procCellAddressing().


| void writeProcs | ( | const bool | doSets | ) | const |
Write the decomposed meshes and associated data.
Definition at line 1446 of file domainDecomposition.C.
References PtrList< T >::append(), IOstream::defaultPrecision(), forAll, forAllConstIter, HashTable< T, Key, Hash >::found(), IOobjectList::lookupClass(), Foam::mag(), Foam::max(), polyMesh::meshSubDir, IOobject::name(), IOobject::NO_READ, IOobject::NO_WRITE, objects, IOobject::READ_IF_PRESENT, HashTable< T, Key, Hash >::size(), hexRef8Data::write(), and fvMesh::write().
Referenced by domainDecomposition::procCellAddressing().

